Merge branch 'dfsg-orig' into dfsg-debian
authorBdale Garbee <bdale@gag.com>
Tue, 17 May 2016 18:37:49 +0000 (12:37 -0600)
committerBdale Garbee <bdale@gag.com>
Tue, 17 May 2016 18:37:49 +0000 (12:37 -0600)
970 files changed:
ChangeLog
ChangeLog.1
INSTALL
Make.rules
Makefile.am
Makefile.in
NEWS
README
THANKS
TODO
acinclude.m4
aclocal.m4
build-aux/config.guess
build-aux/config.rpath
build-aux/config.sub
build-aux/depcomp
build-aux/gitlog-to-changelog
build-aux/install-sh
build-aux/mdate-sh
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
build-aux/texinfo.tex
config.h.in
configure
configure.ac
gnu/Makefile.am
gnu/Makefile.in
gnu/acl-errno-valid.c
gnu/acl-internal.c [new file with mode: 0644]
gnu/acl-internal.h
gnu/acl.h
gnu/acl_entries.c
gnu/alignof.h [new file with mode: 0644]
gnu/alloca.c
gnu/alloca.in.h
gnu/allocator.c
gnu/allocator.h
gnu/anytostr.c
gnu/areadlink-with-size.c [new file with mode: 0644]
gnu/areadlink.c
gnu/areadlink.h
gnu/areadlinkat-with-size.c [new file with mode: 0644]
gnu/areadlinkat.c
gnu/argmatch.c
gnu/argmatch.h
gnu/argp-ba.c
gnu/argp-eexst.c
gnu/argp-fmtstream.c
gnu/argp-fmtstream.h
gnu/argp-fs-xinl.c
gnu/argp-help.c
gnu/argp-namefrob.h
gnu/argp-parse.c
gnu/argp-pin.c
gnu/argp-pv.c
gnu/argp-pvh.c
gnu/argp-version-etc.c
gnu/argp-version-etc.h
gnu/argp-xinl.c
gnu/argp.h
gnu/asnprintf.c
gnu/asprintf.c
gnu/assure.h [new file with mode: 0644]
gnu/at-func.c
gnu/at-func2.c
gnu/backupfile.c
gnu/backupfile.h
gnu/basename-lgpl.c
gnu/basename.c
gnu/bitrotate.c
gnu/bitrotate.h
gnu/btowc.c
gnu/c-ctype.c
gnu/c-ctype.h
gnu/c-strcase.h
gnu/c-strcasecmp.c
gnu/c-strcaseeq.h
gnu/c-strncasecmp.c
gnu/canonicalize-lgpl.c
gnu/careadlinkat.c
gnu/careadlinkat.h
gnu/chdir-long.c
gnu/chdir-long.h
gnu/chmodat.c
gnu/chown.c
gnu/chownat.c
gnu/cloexec.c
gnu/cloexec.h
gnu/close-stream.c
gnu/close-stream.h
gnu/close.c
gnu/closedir.c
gnu/closeout.c
gnu/closeout.h
gnu/config.charset
gnu/dirent--.h
gnu/dirent-private.h
gnu/dirent-safer.h
gnu/dirent.in.h
gnu/dirfd.c
gnu/dirname-lgpl.c
gnu/dirname.c
gnu/dirname.h
gnu/dosname.h
gnu/dup-safer.c
gnu/dup.c
gnu/dup2.c
gnu/errno.in.h
gnu/error.c
gnu/error.h
gnu/euidaccess.c
gnu/exclude.c
gnu/exclude.h
gnu/exitfail.c
gnu/exitfail.h
gnu/faccessat.c
gnu/fchdir.c
gnu/fchmodat.c
gnu/fchown-stub.c
gnu/fchownat.c
gnu/fcntl.c
gnu/fcntl.in.h
gnu/fd-hook.c
gnu/fd-hook.h
gnu/fd-safer.c
gnu/fdopendir.c
gnu/fdutimensat.c
gnu/file-has-acl.c
gnu/fileblocks.c
gnu/filename.h
gnu/filenamecat-lgpl.c
gnu/filenamecat.h
gnu/float+.h
gnu/float.c
gnu/float.in.h
gnu/fnmatch.c
gnu/fnmatch.in.h
gnu/fnmatch_loop.c
gnu/fpending.c
gnu/fpending.h
gnu/fprintftime.c
gnu/fprintftime.h
gnu/fseek.c
gnu/fseeko.c
gnu/fstat.c
gnu/fstatat.c
gnu/full-write.c
gnu/full-write.h
gnu/futimens.c
gnu/get-permissions.c [new file with mode: 0644]
gnu/getcwd-lgpl.c
gnu/getcwd.c
gnu/getdelim.c
gnu/getdtablesize.c
gnu/getfilecon.c
gnu/getgroups.c
gnu/getline.c
gnu/getopt.c
gnu/getopt.in.h
gnu/getopt1.c
gnu/getopt_int.h
gnu/getpagesize.c
gnu/gettext.h
gnu/gettime.c
gnu/gettimeofday.c
gnu/group-member.c
gnu/hash.c
gnu/hash.h
gnu/human.c
gnu/human.h
gnu/imaxtostr.c
gnu/intprops.h
gnu/inttostr.c
gnu/inttostr.h
gnu/inttypes.in.h
gnu/iswblank.c
gnu/itold.c
gnu/langinfo.in.h
gnu/lchown.c
gnu/link.c
gnu/linkat.c
gnu/localcharset.c
gnu/localcharset.h
gnu/locale.in.h
gnu/localeconv.c
gnu/lseek.c
gnu/lstat.c
gnu/malloc.c
gnu/malloca.c
gnu/malloca.h
gnu/mbchar.c
gnu/mbchar.h
gnu/mbrtowc.c
gnu/mbscasecmp.c
gnu/mbsinit.c
gnu/mbsrtowcs-impl.h
gnu/mbsrtowcs-state.c
gnu/mbsrtowcs.c
gnu/mbtowc-impl.h
gnu/mbtowc.c
gnu/mbuiter.c
gnu/mbuiter.h
gnu/memchr.c
gnu/mempcpy.c
gnu/memrchr.c
gnu/mkdir.c
gnu/mkdirat.c
gnu/mkdtemp.c
gnu/mkfifo.c
gnu/mkfifoat.c
gnu/mknod.c
gnu/mknodat.c
gnu/mktime-internal.h
gnu/mktime.c
gnu/modechange.c
gnu/modechange.h
gnu/msvc-inval.c
gnu/msvc-inval.h
gnu/msvc-nothrow.c
gnu/msvc-nothrow.h
gnu/nl_langinfo.c
gnu/obstack.c
gnu/obstack.h
gnu/offtostr.c
gnu/open.c
gnu/openat-die.c
gnu/openat-priv.h
gnu/openat-proc.c
gnu/openat.c
gnu/openat.h
gnu/opendir-safer.c
gnu/opendir.c
gnu/parse-datetime.c
gnu/parse-datetime.h
gnu/parse-datetime.y
gnu/pathmax.h
gnu/pipe-safer.c
gnu/printf-args.c
gnu/printf-args.h
gnu/printf-parse.c
gnu/printf-parse.h
gnu/priv-set.c
gnu/priv-set.h
gnu/progname.c
gnu/progname.h
gnu/quote.h
gnu/quotearg.c
gnu/quotearg.h
gnu/raise.c
gnu/rawmemchr.c
gnu/read.c
gnu/readdir.c
gnu/readlink.c
gnu/readlinkat.c
gnu/realloc.c
gnu/ref-add.sin
gnu/ref-del.sin
gnu/regcomp.c
gnu/regex.c
gnu/regex.h
gnu/regex_internal.c
gnu/regex_internal.h
gnu/regexec.c
gnu/rename.c
gnu/renameat.c
gnu/rewinddir.c
gnu/rmdir.c
gnu/root-uid.h
gnu/rpmatch.c
gnu/safe-read.c
gnu/safe-read.h
gnu/safe-write.c
gnu/safe-write.h
gnu/same-inode.h
gnu/save-cwd.c
gnu/save-cwd.h
gnu/savedir.c
gnu/savedir.h
gnu/se-context.c
gnu/se-context.in.h
gnu/se-selinux.c
gnu/se-selinux.in.h
gnu/secure_getenv.c
gnu/selinux-at.c
gnu/selinux-at.h
gnu/set-permissions.c [new file with mode: 0644]
gnu/setenv.c
gnu/signal.in.h
gnu/size_max.h
gnu/sleep.c
gnu/snprintf.c
gnu/stat-macros.h
gnu/stat-time.c
gnu/stat-time.h
gnu/stat.c
gnu/statat.c
gnu/stdalign.in.h
gnu/stdarg.in.h
gnu/stdbool.in.h
gnu/stddef.in.h
gnu/stdint.in.h
gnu/stdio-impl.h
gnu/stdio.in.h
gnu/stdlib.in.h
gnu/stpcpy.c
gnu/strcasecmp.c
gnu/strchrnul.c
gnu/strdup.c
gnu/streq.h
gnu/strerror-override.c
gnu/strerror-override.h
gnu/strerror.c
gnu/strftime.c
gnu/strftime.h
gnu/string.in.h
gnu/strings.in.h
gnu/stripslash.c
gnu/strncasecmp.c
gnu/strndup.c
gnu/strnlen.c
gnu/strnlen1.c
gnu/strnlen1.h
gnu/strtoimax.c
gnu/strtol.c
gnu/strtoll.c
gnu/strtoul.c
gnu/strtoull.c
gnu/strtoumax.c
gnu/symlink.c
gnu/symlinkat.c
gnu/sys_stat.in.h
gnu/sys_time.in.h
gnu/sys_types.in.h
gnu/sysexits.in.h
gnu/tempname.c
gnu/tempname.h
gnu/time-internal.h [new file with mode: 0644]
gnu/time.in.h
gnu/time_r.c
gnu/time_rz.c [new file with mode: 0644]
gnu/timegm.c [new file with mode: 0644]
gnu/timespec-sub.c [new file with mode: 0644]
gnu/timespec.c
gnu/timespec.h
gnu/uinttostr.c
gnu/umaxtostr.c
gnu/unistd--.h
gnu/unistd-safer.h
gnu/unistd.c
gnu/unistd.in.h
gnu/unitypes.in.h
gnu/uniwidth.in.h
gnu/uniwidth/cjk.h
gnu/uniwidth/width.c
gnu/unlink.c
gnu/unlinkat.c
gnu/unlinkdir.c
gnu/unlinkdir.h
gnu/unlocked-io.h
gnu/unsetenv.c
gnu/utimens.c
gnu/utimens.h
gnu/utimensat.c
gnu/vasnprintf.c
gnu/vasnprintf.h
gnu/vasprintf.c
gnu/verify.h
gnu/version-etc-fsf.c
gnu/version-etc.c
gnu/version-etc.h
gnu/vsnprintf.c
gnu/wchar.in.h
gnu/wcrtomb.c
gnu/wctype-h.c
gnu/wctype.in.h
gnu/wcwidth.c
gnu/write.c
gnu/xalloc-die.c
gnu/xalloc-oversized.h
gnu/xalloc.h
gnu/xasprintf.c
gnu/xgetcwd.c
gnu/xgetcwd.h
gnu/xmalloc.c
gnu/xsize.c
gnu/xsize.h
gnu/xstrndup.c
gnu/xstrndup.h
gnu/xstrtol-error.c
gnu/xstrtol.c
gnu/xstrtol.h
gnu/xstrtoul.c
gnu/xstrtoumax.c
gnu/xvasprintf.c
gnu/xvasprintf.h
lib/Makefile.am
lib/Makefile.in
lib/attr-xattr.in.h
lib/stdopen.c
lib/wordsplit.c
lib/wordsplit.h
lib/xattr-at.c
lib/xattr-at.h
m4/00gnulib.m4
m4/absolute-header.m4
m4/acl.m4
m4/alloca.m4
m4/argp.m4
m4/backupfile.m4
m4/bison.m4
m4/btowc.m4
m4/canonicalize.m4
m4/chdir-long.m4
m4/chown.m4
m4/clock_time.m4
m4/close-stream.m4
m4/close.m4
m4/closedir.m4
m4/closeout.m4
m4/configmake.m4
m4/d-ino.m4
m4/dirent-safer.m4
m4/dirent_h.m4
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/euidaccess.m4
m4/exponentd.m4
m4/extensions.m4
m4/extern-inline.m4
m4/faccessat.m4
m4/fchdir.m4
m4/fchmodat.m4
m4/fchownat.m4
m4/fcntl-o.m4
m4/fcntl.m4
m4/fcntl_h.m4
m4/fdopendir.m4
m4/fileblocks.m4
m4/filenamecat.m4
m4/flexmember.m4 [new file with mode: 0644]
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
m4/getcwd.m4
m4/getdelim.m4
m4/getdtablesize.m4
m4/getgroups.m4
m4/getline.m4
m4/getopt.m4
m4/getpagesize.m4
m4/gettext.m4
m4/gettime.m4
m4/gettimeofday.m4
m4/glibc21.m4
m4/gnulib-common.m4
m4/gnulib-comp.m4
m4/group-member.m4
m4/human.m4
m4/iconv.m4
m4/include_next.m4
m4/intmax_t.m4
m4/inttostr.m4
m4/inttypes-pri.m4
m4/inttypes.m4
m4/inttypes_h.m4
m4/iswblank.m4
m4/langinfo_h.m4
m4/largefile.m4
m4/lchown.m4
m4/lib-ld.m4
m4/lib-link.m4
m4/lib-prefix.m4
m4/libunistring-base.m4
m4/link-follow.m4
m4/link.m4
m4/linkat.m4
m4/localcharset.m4
m4/locale-fr.m4
m4/locale-ja.m4
m4/locale-zh.m4
m4/locale_h.m4
m4/localeconv.m4
m4/longlong.m4
m4/lseek.m4
m4/lstat.m4
m4/malloc.m4
m4/malloca.m4
m4/manywarnings.m4
m4/mbchar.m4
m4/mbiter.m4
m4/mbrtowc.m4
m4/mbsinit.m4
m4/mbsrtowcs.m4
m4/mbstate_t.m4
m4/mbtowc.m4
m4/memchr.m4
m4/mempcpy.m4
m4/memrchr.m4
m4/mkdir.m4
m4/mkdirat.m4
m4/mkdtemp.m4
m4/mkfifo.m4
m4/mkfifoat.m4
m4/mknod.m4
m4/mktime.m4
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/nocrash.m4
m4/obstack.m4 [new file with mode: 0644]
m4/off_t.m4
m4/open.m4
m4/openat.m4
m4/opendir.m4
m4/parse-datetime.m4
m4/pathmax.m4
m4/po.m4
m4/printf.m4
m4/priv-set.m4
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
m4/stdint.m4
m4/stdint_h.m4
m4/stdio_h.m4
m4/stdlib_h.m4
m4/stpcpy.m4
m4/strcase.m4
m4/strchrnul.m4
m4/strdup.m4
m4/strerror.m4
m4/strftime.m4
m4/string_h.m4
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/time_h.m4
m4/time_r.m4
m4/time_rz.m4 [new file with mode: 0644]
m4/timegm.m4 [new file with mode: 0644]
m4/timespec.m4
m4/tm_gmtoff.m4
m4/ulonglong.m4 [new file with mode: 0644]
m4/unistd-safer.m4
m4/unistd_h.m4
m4/unlink.m4
m4/unlinkat.m4
m4/unlinkdir.m4
m4/unlocked-io.m4
m4/utimbuf.m4
m4/utimens.m4
m4/utimensat.m4
m4/utimes.m4
m4/vasnprintf.m4
m4/vasprintf.m4
m4/version-etc.m4
m4/vsnprintf.m4
m4/warn-on-use.m4
m4/warnings.m4
m4/wchar_h.m4
m4/wchar_t.m4
m4/wcrtomb.m4
m4/wctype_h.m4
m4/wcwidth.m4
m4/wint_t.m4
m4/write.m4
m4/xalloc.m4
m4/xgetcwd.m4
m4/xsize.m4
m4/xstrndup.m4
m4/xstrtol.m4
m4/xvasprintf.m4
po/Makefile.in.in
po/Makevars
po/POTFILES.in
po/bg.gmo
po/bg.po
po/ca.gmo
po/ca.po
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/el.gmo
po/el.po
po/eo.gmo
po/eo.po
po/es.gmo
po/es.po
po/et.gmo
po/et.po
po/eu.gmo
po/eu.po
po/fi.gmo
po/fi.po
po/fr.gmo
po/fr.po
po/ga.gmo
po/ga.po
po/gl.gmo
po/gl.po
po/hr.gmo
po/hr.po
po/hu.gmo
po/hu.po
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/ko.gmo
po/ko.po
po/ky.gmo
po/ky.po
po/ms.gmo
po/ms.po
po/nb.gmo
po/nb.po
po/nl.gmo
po/nl.po
po/pl.gmo
po/pl.po
po/pt.gmo
po/pt.po
po/pt_BR.gmo
po/pt_BR.po
po/ro.gmo
po/ro.po
po/ru.gmo
po/ru.po
po/sk.gmo
po/sk.po
po/sl.gmo
po/sl.po
po/sr.gmo
po/sr.po
po/sv.gmo
po/sv.po
po/tar.pot
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/vi.gmo
po/vi.po
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
rmt/Makefile.in
scripts/Makefile.am
scripts/Makefile.in
scripts/backup-specs
scripts/backup.sh.in
scripts/dump-remind.in
scripts/restore.in
src/Makefile.am
src/Makefile.in
src/arith.h
src/buffer.c
src/checkpoint.c
src/common.h
src/compare.c
src/create.c
src/delete.c
src/exclist.c
src/exit.c
src/extract.c
src/incremen.c
src/list.c
src/map.c [new file with mode: 0644]
src/misc.c
src/names.c
src/sparse.c
src/suffix.c
src/system.c
src/tar.c
src/tar.h
src/transform.c
src/unlink.c
src/update.c
src/utf8.c
src/warning.c
src/xattrs.c
src/xattrs.h
src/xheader.c
tests/Makefile.am
tests/Makefile.in
tests/T-cd.at
tests/T-dir00.at [new file with mode: 0644]
tests/T-dir01.at [new file with mode: 0644]
tests/T-empty.at
tests/T-mult.at
tests/T-nest.at
tests/T-nonl.at
tests/T-null.at
tests/T-null2.at [new file with mode: 0644]
tests/T-rec.at
tests/T-recurse.at [new file with mode: 0644]
tests/T-zfile.at
tests/acls01.at
tests/acls02.at
tests/acls03.at
tests/append.at
tests/append01.at
tests/append02.at
tests/append03.at
tests/append04.at
tests/append05.at [new file with mode: 0644]
tests/atlocal.in
tests/backup01.at
tests/capabs_raw01.at
tests/checkseekhole.c [new file with mode: 0644]
tests/chtype.at
tests/ckmtime.c [new file with mode: 0644]
tests/comperr.at [new file with mode: 0644]
tests/comprec.at
tests/delete01.at
tests/delete02.at
tests/delete03.at
tests/delete04.at
tests/delete05.at
tests/exclude.at
tests/exclude01.at
tests/exclude02.at
tests/exclude03.at
tests/exclude04.at
tests/exclude05.at
tests/exclude06.at
tests/exclude07.at
tests/exclude08.at
tests/exclude09.at
tests/exclude10.at
tests/exclude11.at
tests/exclude12.at
tests/exclude13.at
tests/exclude14.at
tests/exclude15.at
tests/exclude16.at
tests/extrac01.at
tests/extrac02.at
tests/extrac03.at
tests/extrac04.at
tests/extrac05.at
tests/extrac06.at
tests/extrac07.at
tests/extrac08.at
tests/extrac09.at
tests/extrac10.at
tests/extrac11.at
tests/extrac12.at
tests/extrac13.at
tests/extrac14.at
tests/extrac15.at
tests/extrac16.at
tests/extrac17.at
tests/extrac18.at
tests/extrac19.at
tests/filerem01.at
tests/filerem02.at
tests/genfile.c
tests/grow.at
tests/gzip.at
tests/ignfail.at
tests/incr01.at
tests/incr02.at
tests/incr03.at
tests/incr04.at
tests/incr05.at
tests/incr06.at
tests/incr07.at
tests/incr08.at
tests/incr09.at
tests/incr10.at [new file with mode: 0644]
tests/incr11.at [new file with mode: 0644]
tests/incremental.at
tests/indexfile.at
tests/label01.at
tests/label02.at
tests/label03.at
tests/label04.at
tests/label05.at
tests/link01.at
tests/link02.at
tests/link03.at
tests/link04.at
tests/listed01.at
tests/listed02.at
tests/listed03.at
tests/listed04.at
tests/listed05.at
tests/long01.at
tests/longv7.at
tests/lustar01.at
tests/lustar02.at
tests/lustar03.at
tests/map.at [new file with mode: 0644]
tests/multiv01.at
tests/multiv02.at
tests/multiv03.at
tests/multiv04.at
tests/multiv05.at
tests/multiv06.at
tests/multiv07.at
tests/multiv08.at
tests/multiv09.at [new file with mode: 0644]
tests/numeric.at [new file with mode: 0644]
tests/old.at
tests/onetop01.at
tests/onetop02.at
tests/onetop03.at
tests/onetop04.at
tests/onetop05.at [new file with mode: 0644]
tests/opcomp01.at
tests/opcomp02.at
tests/opcomp03.at
tests/opcomp04.at
tests/opcomp05.at
tests/opcomp06.at
tests/options.at
tests/options02.at
tests/owner.at
tests/package.m4
tests/pipe.at
tests/recurs02.at
tests/recurse.at
tests/remfiles01.at
tests/remfiles02.at
tests/remfiles03.at
tests/remfiles04a.at
tests/remfiles04b.at
tests/remfiles04c.at
tests/remfiles05a.at
tests/remfiles05b.at
tests/remfiles05c.at
tests/remfiles06a.at
tests/remfiles06b.at
tests/remfiles06c.at
tests/remfiles07a.at
tests/remfiles07b.at
tests/remfiles07c.at
tests/remfiles08a.at
tests/remfiles08b.at
tests/remfiles08c.at
tests/remfiles09a.at
tests/remfiles09b.at
tests/remfiles09c.at
tests/remfiles10.at
tests/rename01.at
tests/rename02.at
tests/rename03.at
tests/rename04.at
tests/rename05.at
tests/same-order01.at
tests/same-order02.at
tests/selacl01.at
tests/selnx01.at
tests/shortfile.at
tests/shortrec.at
tests/shortupd.at
tests/sigpipe.at
tests/sparse01.at
tests/sparse02.at
tests/sparse03.at
tests/sparse04.at
tests/sparse05.at [new file with mode: 0644]
tests/sparse06.at [new file with mode: 0644]
tests/sparsemv.at
tests/sparsemvp.at
tests/spmvp00.at
tests/spmvp01.at
tests/spmvp10.at
tests/star/README
tests/star/gtarfail.at
tests/star/gtarfail2.at
tests/star/multi-fail.at
tests/star/pax-big-10g.at
tests/star/quicktest.sh
tests/star/ustar-big-2g.at
tests/star/ustar-big-8g.at
tests/testsuite
tests/testsuite.at
tests/time01.at
tests/time02.at [new file with mode: 0644]
tests/truncate.at
tests/update.at
tests/update01.at
tests/update02.at
tests/verbose.at
tests/verify.at
tests/version.at
tests/volsize.at
tests/volume.at
tests/xattr01.at
tests/xattr02.at
tests/xattr03.at
tests/xattr04.at
tests/xattr05.at
tests/xform-h.at
tests/xform01.at
tests/xform02.at [new file with mode: 0644]

index 5bd14213667725a7588d3da163aefade1dd306bb..7c7865dc7baba80169d7d3a71908b8beeb3404c0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,735 @@
+2016-05-16  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Version 1.29
+
+       Minor fix
+       * src/names.c (new_name): rename to make_file_name. All uses
+       changed.
+
+2016-04-14  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix argument handling when running external commands.
+       * src/system.c (xexec): Use sh -c to run the command.  This fixed
+       bug introduced by 7b5e80396 (tar 1.27)
+       * doc/tar.texi: Fix checkpoint examples: (1) $TAR_FILENAME
+       is not available when creating archive and (2) --checkpoint
+       can't be used as abbreviation of --checkpoint-action
+
+2016-04-06  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Remove iotty test
+       The auxiliary utility ttyemu proved to be unreliable.
+       Given existing
+       differences between pty implementations and termios ioctls
+       on various
+       platforms, writing it in a portable way requires effort
+       disproportional
+       to its actual purpose.
+       * configure.ac: Remove check for grantpt
+       * gnulib.modules: Remove posix_openpt, ptsname, and unlockpt
+       * tests/Makefile.am (TESTSUITE_AT): Remove iotty.at
+       (check_PROGRAMS): Remove ttyemu.
+       * tests/testsuite.at: Remove iotty.at
+       * tests/iotty.at: Remove.
+       * tests/ttyemu.c: Remove.
+
+2016-04-05  Pavel Raiskup  <praiskup@redhat.com>
+
+       xattrs: fix build on Darwin
+       Be careful to define HAVE_XATTRS when not all needed xattr-related
+       functions are properly defined either in libc or libattr.
+       Reported independently by Denis Excoffier and Dominyk Tille.
+       * acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): Check for each xattr
+       function separately.  Don't AC_CHECK_LIB (LIBS is filled by
+       AC_SEARCH_LIBS when necessary).
+       * src/Makefile.am: The LDADD -lattr was redundant.
+
+2016-03-24  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Remove --preserve option
+       * src/tar.c: Remove --preserve option
+       * NEWS: Update.
+       * doc/tar.texi: Update.
+
+       Fix testcase
+       * tests/time02.at: Sort tar -d output
+
+       Update THANKS file
+
+2016-03-24  Jeremy Bobbio  <lunar@debian.org>
+
+       New option --clamp-mtime
+       The new `--clamp-mtime` option will change the behavior of
+       `--mtime` to only
+       use the time specified if the file mtime is newer than the
+       given time.
+       The `--clamp-mtime` option can only be used together with
+       `--mtime`.
+       Typical use case is to make builds reproducible: to loose less
+       information, it's better to keep the original date of an archive,
+       except for
+       files modified during the build process. In that case, using
+       a reference
+       (and thus reproducible) timestamps for the latter is good
+       enough. See
+       <https://wiki.debian.org/ReproducibleBuilds> for more information.
+       Patch submitted by Jeremy Bobbio and
+       Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+       * doc/tar.1: Document --clamp-mtime
+       * doc/tar.texi: Likewise.
+       * src/common.h (set_mtime_option_mode): New enum
+       (set_mtime_option): Change type to enum set_mtime_option_mode.
+       (NEWER_OPTION_INITIALIZED): Rename to NEWER_OPTION_INITIALIZED.
+       * src/create.c (start_header): Set mtime depending on
+       set_mtime_option.
+       * src/tar.c (options,parse_opt): New option --clamp-mtime
+       (decode_options): Initialize mtime_option
+       * tests/time02.at: New testcase.
+       * tests/Makefile.am: Add new testcase
+       * tests/testsuite.at: Likewise.
+
+2016-03-21  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Acknowledgments
+       * THANKS: Add Dagobert Michelsen
+
+       Fix the testsuite
+       * tests/sparse06.at: Don't use timeout: depending on the
+       filesystem
+       mounted, current LA and lots of other factors, creation of
+       archive can
+       take much more time than the expected 2 seconds.
+
+       Fix ckmtime
+       * gnulib.modules: Use timespec-sub
+       * tests/ckmtime.c: Use second resolution.
+
+2016-03-20  Sergey Poznyakoff  <gray@gnu.org>
+
+       Fix the testsuite
+       * tests/sparse05.at: Use autom4te magic to generate mapfile,
+       instead of the shell command seq, which is not always available.
+       * tests/listed03.at: Skip the test if xgetcwd fails.
+       * tests/ckmtime.c: New file.
+       * tests/Makefile.am: Build ckmtime
+       * tests/testsuite.at (AT_CHECK_TIMESTAMP): Check whether newly
+       created
+       files have timestamps consistent with the creation time.
+       Skip the test
+       if not.
+       * tests/incr01.at: Use AT_CHECK_TIMESTAMP
+       * tests/incr02.at: Likewise.
+       * tests/incr03.at: Likewise.
+       * tests/incr04.at: Likewise.
+       * tests/incr05.at: Likewise.
+       * tests/incr06.at: Likewise.
+       * tests/incr07.at: Likewise.
+       * tests/incr08.at: Likewise.
+       * tests/incr09.at: Likewise.
+       * tests/incr10.at: Likewise.
+       * tests/incr11.at: Likewise.
+       * tests/incremental.at: Likewise.
+       * tests/listed01.at: Likewise.
+       * tests/listed02.at: Likewise.
+       * tests/listed04.at: Likewise.
+       * tests/listed05.at: Likewise.
+
+2016-03-18  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Testsuite fixes.
+       * paxutils: Update.
+       * src/unlink.c (flush_deferred_unlinks): OpenSolaris sets EEXIST
+       instead of ENOTEMPTY if trying to remove a non-empty directory.
+       * tests/numeric.at: Avoid using awk -v: some older awks don't
+       support
+       that option.  Also fix environment variable usage.
+       * tests/onetop05.at: Skip test if unable to set initial directory
+       mode bits.
+       * tests/sparse06.at: Use --quiet option.
+
+       Revise docs
+
+       Fix build with --enable-gcc-warnings
+       * configure.ac: Disable stack-protector warnings
+
+2016-03-17  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Improve testsuite
+       * tests/iotty.at: Skip test if ttyemu can't do its job
+
+2016-03-16  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Document xattrs, ACL and SELinux-related options.
+       * doc/tar.1: Document all options.
+       * doc/tar.texi: Likewise.
+
+2016-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix appending to archive with changed blocking factor.
+       * src/buffer.c (flush_archive): If previous reading attempt
+       resulted
+       in short read, correctly use the remaining record space.
+       (backspace_output): Fix position calculation (still has to be
+       improved).
+       * tests/append05.at: New test case.
+       * tests/Makefile.am: Add new test.
+       * tests/testsuite.at: Likewise.
+
+2016-03-14  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix coredump on parsing invalid traditional option
+       * src/tar.c (find_argp_option): Fix loop termination condition.
+
+2016-01-20  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Update copyright years
+
+       Allow escaped delimiters in transform expressions.
+       Patch provided by Charles McGarvey and Flavio Poletti.
+       * src/transform.c (parse_transform_expr): Allow escaped delimiters
+       in transform expressions.
+       * tests/xform02.at: New test case.
+       * tests/Makefile.am: Add xform02.at
+       * tests/testsuite.at: Include xform02.at
+       * THANKS: Update.
+
+2015-12-17  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix eventual dereference of uninitialized pointer.
+       * src/exclist.c (hg_initfn): Initialize hgopt.
+
+2015-12-17  Pavel Raiskup  <praiskup@redhat.com>
+
+       sparse: fix use of indeterminate value
+       * src/xheader.c (sparse_map_decoder): Move 'e' up from loop-block.
+
+2015-12-11  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       fix a typo
+       * doc/tar.texi (Incremental Dumps): Add missing --file to the
+       '--list' example.
+
+       Minor fixes.
+       * doc/tar.texi: Document position-sensitive options in a
+       separate subsection.
+       * src/names.c (names_argp,names_argp_children): Explicitly
+       initialize
+       all members.
+
+2015-12-11  Sergey Poznyakoff  <gray@gnu.org>
+
+       Minor fix
+
+       Fix handling of filename-selection options.
+       Filename-selection options are --wildcards, --recursive, etc. (see
+       names.c for a complete list).  These options are
+       position-sensitive,
+       i.e. each such option affects all filenames and filename-selection
+       options that appear after it until eventually cancelled by a
+       corresponding counterpart option.
+       These options can appear in "file-from" file lists, which
+       means that
+       they cannot be handled right away, but instead should be put on
+       the "name_elt" list and processed sequentionally, as file name
+       arguments
+       are.
+       * src/common.h (warn_regex_usage): Remove.
+       (name_add_name): Change signature.
+       (name_add_dir, name_add_file): Remove prototypes.
+       * src/names.c (name_add_option, name_add_dir)
+       (name_add_file): Static functions.
+       (names_options, is_file_selection_option, names_parse_opt):
+       Static functions.
+       (names_argp_children): New variable.
+       (NELT_NAME, NELT_CHDIR)
+       (NELT_FILE, NELT_NOOP): Redefine as enum nelt_type.
+       (NELT_FMASK): Remove.
+       (NELT_OPTION): New constant.
+       (name_elt) <type>: Change type.
+       <v.opt>: New member.
+       (name_elt_alloc_matflags): Remove.
+       (name_add_name): Take one argument.
+       (name_add_option): New static function.
+       (name_add_file): Take one argument.
+       (read_next_name): Use filename_terminator and
+       verbatim_files_from_option to initialize file.term and
+       file.verbatim.
+       * src/tar.c: Move handling of filename-selection options to
+       names.c
+       * tests/T-dir00.at: Fix typo.
+       * tests/T-recurse.at: Remove expected failure.
+
+2015-12-10  Pavel Raiskup  <praiskup@redhat.com>
+
+       better test --{,no-}recursion options
+       * tests/recurs02.at: Also test --list mode.
+       * tests/T-recurse.at: New test case.  Test that -T option works
+       correctly together with --{,no-}recursion.
+       * tests/Makefile.am: Mention new test T-recurse.at.
+       * tests/testsuite.at: Likewise.
+
+2015-12-06  Pavel Raiskup  <praiskup@redhat.com>
+
+       Bugfix
+       * src/buffer.c (try_new_volume): Warn if user supplied malformed
+       tar archive.
+       Consistently use WARN (instead of ERROR) when reporting.
+
+2015-12-06  Sergey Poznyakoff  <gray@gnu.org>
+
+       Fix segfault when extracting from a multi-volume archive.
+       Fix suggested by Pavel Raiskup.
+       * src/buffer.c (try_new_volume): Fix dereferencing NULL pointer.
+       * tests/multiv09.at: New testcase.
+       * tests/Makefile.am: Add new testcase.
+       * tests/testsuite.at: Likewise.
+
+       Fix NEWS
+
+2015-12-06  Pavel Raiskup  <praiskup@redhat.com>
+
+       numeric-owner: print big UID/GID correctly
+       * src/list.c (simple_print_header): Do not parse ustar header
+       for UID/GID again (tar_stat_info has already been correctly
+       filled with respect to possible uid/gid extended headers).
+       * tests/numeric.at: New testcase for --numeric-owner option.
+       * tests/Makefile.am: Add new testcase.
+       * tests/testsuite.at: Likewise.
+
+2015-12-06  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Use SEEK_HOLE for hole detection
+       Based on patch by Pavel Raiskup.
+       Use SEEK_HOLE/SEEK_DATA feature of lseek on systems that support
+       it.  This can make archiving of sparse files much faster.
+       Implement the --hole-detection option to allow users to select
+       hole-detection method.
+       * src/common.h (hole_detection_method): New enum.
+       (hole_detection): New global.
+       * src/sparse.c  (sparse_scan_file_wholesparse): New function as a
+       method for detecting sparse files without any data.
+       (sparse_scan_file_raw): Rename from sparse_scan_file; with edits.
+       (sparse_scan_file_seek): New function.
+       (sparse_scan_file): Reimplement function.
+       * src/tar.c: New option --hole-detection
+       * tests/checkseekhole.c: New file.
+       * tests/.gitignore: Mention two test binaries.
+       * tests/Makefile.am: Add new tests.
+       * tests/testsuite.at (AT_SEEKHOLE_PREREQ): New macro.
+       Include sparse06.at.
+       * tests/sparse06.at: New test case.
+       * tests/sparse02.at: Force raw hole-detection method.
+       * tests/sparsemv.at: Likewise.
+       * tests/sparsemvp.at: Likewise.
+       * doc/tar.1: Document --hole-detection option.
+       * doc/tar.texi: Document hole-detection algorithms and
+       command-line options.
+       * NEWS: Document hole-detection.
+
+2015-12-05  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Catch compressor execution errors.
+       * src/misc.c (write_fatal_details): Move to buffer.c
+       * src/buffer.c (write_fatal_details): Close the archive and
+       wait for
+       the compressor program to terminate in order to catch eventual
+       execution
+       errors.
+       * src/system.c (sys_child_open_for_compress): Ignore SIGPIPE so
+       tar will
+       not silently terminate when unable to write to the compressor.
+       * tests/comperr.at: New file.
+       * tests/Makefile.am: Add comperr.at
+       * tests/testsuite.at: Include comperr.at
+
+       Upgrade paxutils
+
+2015-11-29  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix extraction from concatenated incremental archives with
+       renamed directories.
+       Complements 15c02c2b.
+       * src/extract.c (delayed_set_stat): Change type of file_name.
+       (delay_set_stat): Allocate file_name member.
+       (free_delayed_set_stat): Free file_name.
+       (fixup_delayed_set_stat): New function.
+       (rename_directory): Call fixup_delayed_set_stat on success.
+       * tests/incr11.at: New testcase.
+       * tests/incr10.at: Improve description.
+       * tests/Makefile.am: Add incr11.at
+       * tests/testsuite.at: Add incr11.at
+
+2015-11-21  Sergey Poznyakoff  <gray@gnu.org>
+
+       Fix bug in the inplementation of --one-top-level.
+       When extracting an archive that contains './' with the
+       --one-top-level option,
+       the mode and ownership of '.' would be incorrectly applied to
+       the current
+       working directory, instead of the requested top-level directory.
+       * src/list.c (enforce_one_top_level): Map '.' to the top-level
+       directory.
+       * tests/Makefile.am: Add onetop05.at
+       * tests/testsuite.at: Include onetop05.at.
+       * tests/onetop05.at: New file.
+       * tests/onetop01.at: Fix keywords.
+       * tests/onetop02.at: Likewise.
+       * tests/onetop03.at: Likewise.
+       * tests/onetop04.at: Likewise.
+
+2015-11-11  Sergey Poznyakoff  <gray@gnu.org>
+
+       Work around unlinkat bug on FreeBSD and GNU/Hurd
+       * src/unlink.c (dunlink_insert): New function.
+       (flush_deferred_unlinks): Skip cwds and nonempty directories
+       at the first pass.  If force is requested, run a second pass
+       removing them.
+       (queue_deferred_unlink): Make sure current working directory
+       entries are sorted in descending order by the value of dir_idx.
+       This makes sure they will be removed in right order, which works
+       around unlinkat bug on FreeBSD and GNU/Hurd.
+       * tests/remfiles08b.at: Remove expected failure.
+       * tests/remfiles09b.at: Likewise.
+
+2015-11-10  Sergey Poznyakoff  <gray@gnu.org>
+
+       Fix coredump on FreeBSD when TAR_OPTIONS is set
+       * src/tar.c (parse_default_options): Use program_name instead of
+       program_invocation_short_name.  On some systems the latter is
+       NULL when
+       the function is called, which causes coredumps.
+       (tar_set_quoting_style): Likewise.
+       * src/names.c: Likewise.
+
+2015-11-02  Sergey Poznyakoff  <gray@gnu.org>
+
+       Use sort in T-dir tests.
+
+       Fix distclean in tests/
+       * tests/Makefile.am: Remove "download"
+
+       New options: --owner-map and --group-map.
+       * NEWS: Update.
+       * doc/tar.1: Document --owner-map and --group-map
+       * doc/tar.texi: Likewise.
+       * src/map.c: New file.
+       * src/Makefile.am: Add map.c
+       * src/common.h (owner_map_read, owner_map_translate)
+       (group_map_read, group_map_translate): New protos.
+       * src/create.c (start_header): Use owner_map_translate
+       and group_map_translate to optionally translate user/group
+       names/ids.
+       * src/tar.c: New options --owner-map and --group-map.
+       * tests/map.at: New file.
+       * tests/Makefile.am: Add map.at
+       * tests/testsuite.at: Include map.at.
+
+2015-09-24  Kir Kolyshkin  <kir@openvz.org>  (tiny change)
+
+       doc: fix font and spelling typos
+       * doc/tar.1: Fix font and spelling typos in man page.
+
+2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problems caught by static checking
+       Most of these can be caught by configuring with
+       --enable-gcc-warnings.
+       Problem reported by Pavel Raiskup in:
+       http://lists.gnu.org/archive/html/bug-tar/2015-09/msg00001.html
+       * src/buffer.c (format_total_stats):
+       Prefer pointer to const when it’s OK to use const.
+       (default_total_format): Now const.
+       * src/buffer.c (default_total_format):
+       * src/exclist.c (excfile_head, excfile_tail, vcs_ignore_files):
+       * src/misc.c (namebuf_add_dir, namebuf_finish):
+       * src/tar.c (verbatim_files_from_option, option_set_in_cl)
+       (optloc_eq, set_old_files_option):
+       Now static.
+       * src/common.h: Adjust to match the other changes described here.
+       * src/exclist.c (info_cleanup_exclist):
+       * src/tar.c (argp_program_version, argp_program_bug_address):
+       Remove; unused.
+       (parse_default_options): Define via prototype instead of old
+       style.
+       (parse_default_options, decode_options):
+       Fill out incomplete initializers.
+
+2015-08-31  Sergey Poznyakoff  <gray@gnu.org>
+
+       Improve option sanity checking
+       Any two conflicting options are reported only if they both
+       occur in
+       the command line.  Otherwise, options defined in the command line
+       silently override those set in the TAR_OPTIONS environment
+       variable.
+       * src/common.h (option_source): New enum.
+       (option_locus): New struct.
+       * src/names.c (name_elt): New member: line.
+       (name_add_file): Initialize line.
+       (read_name_from_file): Keep track of input line number for
+       diagnostic
+       purposes.
+       (handle_option): Take a pointer to struct name_elt as 2nd
+       parameter;
+       pass locus info to more_options().
+       * src/tar.c (tar_args): New member: loc.
+       (option_class): New enum.
+       (optloc_save,optloc_lookup)
+       (option_set_in_cl,optloc_eq): New functions.
+       (set_use_compress_program_option): Take into account option
+       location.
+       (set_old_files_option): New function.
+       (parse_opt): Keep track of option locations.
+       (more_options): Improve error reporting.
+       (parse_default_options): New function.
+       (decode_options): Parse TAR_OPTION and command line separately.
+       Options from the latter silently override those from the former.
+       * lib/prepargs.c: Remove.
+       * lib/prepargs.h: Remove.
+       * lib/Makefile.am: Update.
+
+2015-08-24  Sergey Poznyakoff  <gray@gnu.org>
+
+       Improve check-full
+       * tests/atlocal.in: Download external archives to
+       $abs_builddir/download.
+       (tarball_prereq): Create destination directory if necessary.
+       * tests/.gitignore: Add download
+
+       Fix check-full
+       * tests/atlocal.in (TAR_DATA_URL): Berlios is dead.  Get
+       test archives from gnu.org.ua
+
+       Include gnulib and paxutils as submodules.
+       * .gitmodules: New file.
+       * README-alpha: Update.
+       * README-hacking: Update.
+       * bootstrap: Install slightly modified version from the gnulib
+       repo.
+       * bootstrap.conf: Add paxutils-related stuff.
+       * .gitignore: Update.
+       * doc/.gitignore: Update.
+       * po/.gitignore: Update.
+       * gnu/Makefile.am
+
+       Update docs.
+       * doc/tar.1: Document --verbatim-files-from option.
+
+2015-08-20  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Add missing VCS files to --exclude-vcs list
+       * src/tar.c (vcs_file_table): Add .gitmodules and .gitattributes
+       * doc/tar.texi: Update.
+
+2015-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Options to control option handling in file lists.
+       The --verbatim-files-from option disables option handling in
+       file lists.  The --no-verbatim-files-from reverts its effect.
+       The --null option implies --verbatim-files-from.  This restores
+       the documented behavior, broken by 26538c9b.
+       * src/common.h (verbatim_files_from_option): New global.
+       * src/names.c (name_elt): New member: file.verbatim
+       (name_add_file): Take 'verbatim' state as its third parameter.
+       (read_next_name): Don't call handle_option if file.verbatim
+       is set.
+       * src/tar.c: New options --verbatim-files-from and
+       --no-verbatim-files-from.
+       * doc/tar.texi: Document --verbatim-files-from and
+       --no-verbatim-files-from options.
+       * NEWS: Update.
+       * configure.ac: Version 1.28.90
+       * tests/T-null2.at: New testcase.
+       * tests/Makefile.am: Update.
+       * tests/testsuite.at: Update.
+
+2015-07-25  Anders Jonsson  <anders.jonsson@norsjovallen.se>  (tiny
+change)
+
+       Fix typos (preceeded etc.)
+
+2015-07-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tar: fix symlink race and symlink transform bug
+       Problem reported by Tobias Stoeckmann in:
+       http://lists.gnu.org/archive/html/bug-tar/2015-07/msg00004.html
+       * gnulib.modules: Add areadlinkat-with-size.
+       * src/create.c: Include areadlink.h.
+       (dump_file0): Use areadlinkat_with_size, rather than trying to do
+       it by hand, incorrectly.  This also avoids assumption that
+       the symlink contents fit on the stack.  Also, use the transformed
+       link name, not the original link name, when deciding whether the
+       name is long enough to require writing a long link.
+
+       tar: port -d to longer symlinks
+       * src/compare.c (diff_symlink):
+       Don't use alloca on symlink length; it might be too big for
+       the stack.
+       Don't assume that readlinkat's return value fits in 'int'.
+       Prefer memcmp to strncmp where either will do.
+
+       tar: port to recent gnulib
+       * gnulib.modules: Remove 'acl' and add 'file-has-acl'.
+
+       tar: pacify GCC 5.1 -Wformat-signedness
+       * lib/wordsplit.c (struct wordsplit_node.flags):
+       Now unsigned, so that 'printf ("%x", p->flags)' doesn't provoke
+       GCC.
+       * src/incremen.c (read_num, dumpdir_ok):
+       Don't printf an int with %x or %o.
+
+2015-04-16  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix extraction from concatenated incremental archives.
+       * src/common.h (remove_delayed_set_stat): New proto.
+       * src/extract.c (free_delayed_set_stat)
+       (remove_delayed_set_stat): New function.
+       (apply_nonancestor_delayed_set_stat): Use free_delayed_set_stat.
+       * src/misc.c (safer_rmdir): Remove delayed_set_stat entry
+       corresponding to the removed directory.
+       * tests/incr10.at: New test case.
+       * tests/Makefile.am: Add new test.
+       * tests/testsuite.at: Likewise.
+
+2015-04-10  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix make installcheck
+       Make installcheck would fail unless make check had been run
+       before it.
+       Reported by Erik Brangs <erik.brangs@gmx.de>
+       * tests/Makefile.am (installcheck-local): Depend on
+       $(check_PROGRAMS)
+
+2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tar: don't assume GZIP
+       * Makefile.am (dist-hook): Port to gzip implementations that
+       warn about nontrivial settings in the GZIP environment var.
+
+2015-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tar: don't suggest GZIP
+       * doc/tar.texi (gzip): Don't suggest using the GZIP environment
+       variable, as it will be deprecated in the next gzip release.
+
+2015-02-19  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Improve compression format recognition
+       Some comressed archives can pass the checksum test, which
+       makes tar
+       treat them as uncompressed archives.
+       * src/buffer.c (check_compressed_archive): Test the checksum only
+       if the block we read looks like a valid tar header (i.e. has
+       a magic string).
+
+2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tar: port xattr-at.c to Solaris 10
+       * lib/xattr-at.c (setxattrat, lsetxattrat, getxattrat,
+       lgetxattrat)
+       (listxattrat, llistxattrat): Compile only if HAVE_XATTRS, so that
+       the code doesn't call functions that are not declared.
+
+       tar: port wordsplit attribute to Sun C
+       Reported by Ted Carr in:
+       http://lists.gnu.org/archive/html/bug-tar/2015-01/msg00002.html
+       * lib/wordsplit.h (__WORDSPLIT_ATTRIBUTE_FORMAT):
+       New macro, taken from Gnulib.
+       (struct wordsplit): Use it.
+       * lib/wordsplit.c (_wsplt_error): Use it.
+
+2014-12-17  Sergey Poznyakoff  <gray@gnu.org>
+
+       Silent a cc warning
+       * src/xheader.c (xheader_string_end): Make sure pointer
+       arithmetics applies on char*.
+
+2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tar: port ISFOUND, WASFOUND to C89
+       Problem reported by Romano Maspero in:
+       http://lists.gnu.org/archive/html/bug-tar/2014-12/msg00010.html
+       * src/common.h (ISFOUND, WASFOUND): Port to C89.
+
+2014-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix tar -c -l file file
+       When the same file is added several times to the archive, count
+       correctly the number of hard links.  See also 37ddfb0b.
+       * src/create.c (dump_hard_link): Don't decrease nlink if it is 0.
+       * tests/link04.at: Test -cl options.
+
+2014-11-07  Sergey Poznyakoff  <gray@gnu.org>
+
+       Honor the pax-option overrides when creating archive.
+       Changes proposed by Denis Excoffier.
+       * NEWS: Fix typos.
+       * doc/tar.texi: Fix typos.  Improve recipe for creation of binary
+       equivalent archives.
+       * src/create.c (write_extended): Use the value of the
+       --mtime option (if specified) as the default for exthdr.mtime.
+       * src/xheader.c (xheader_store): Create the header if at least
+       one override is supplied in --pax-option.
+
+       Add testcase for the previous commit.
+       * tests/sparse05.at: New file.
+       * tests/Makefile.am: Add sparse05.at
+       * tests/testsuite.at: Include sparse05.at
+
+2014-11-07  Pavel Raiskup  <praiskup@redhat.com>
+
+       Fix bug in sparse file listing
+       List posix archives containing sparse files >8GB correctly and
+       do not fail.
+       This fixes also bug in format of listing for sparse files >8GB -
+       now the
+       real size is printed instead of the effective one (this is
+       not strictly
+       posix format related).
+       * src/list.c: Remove redundant assignment.
+       * src/tar.h: Add new 'real_size' and 'real_size_set' fields in
+         tar_stat_info struct.
+       * src/xheader.c: Correctly handle (especially sparse) file sizes
+       directly in
+         xheader_decode().
+
+2014-10-15  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix a typo
+
+2014-10-01  Sergey Poznyakoff  <gray@gnu.org>
+
+       Fix README
+       Remove the reference to PORTS
+
+2014-09-25  Sergey Poznyakoff  <gray@gnu.org>
+
+       Bugfixes.
+       * doc/tar.1: Fix typo in font spec.
+       * src/tar.c (sort_mode_arg, sort_mode_flag): Protect "inode"
+       (SAVEDIR_SORT_INODE) with D_INO_IN_DIRENT
+
+2014-09-18  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Bugfix: entries read from the -T file did not get proper
+       matching_flag.
+       * src/common.h (name_add_file): Change signature.
+       * src/names.c (name_elt_alloc_matflags): New function.
+       (name_add_name): Use name_elt_alloc_matflags.
+       (name_add_file): Take matching flags as third argument.
+       (read_next_name): Remove trailing slashes.
+       * src/tar.c (parse_opt): Pass matching_flags to name_add_file.
+       * tests/T-dir00.at: New file.
+       * tests/T-dir01.at: New file.
+       * tests/Makefile.am: Add new testcases.
+       * tests/testsuite.at: Likewise.
+
+2014-08-16  Sergey Poznyakoff  <gray@gnu.org>
+
+       Improve documentation.
+       * doc/tar.1: Document --skip-old-files and --warning=existing-file
+       * doc/tar.texi: Document --warning=existing-file
+
 2014-07-27  Sergey Poznyakoff  <gray@gnu.org>
 
        Version 1.28
 
        Don't build ttyemu and run tty I/O test if grantpt is not
        available.
-
        * configure.ac (TAR_COND_GRANTPT): Define conditional depending
        on whether grantpt is available.
        * gnulib.modules: Remove grantpt. It relies upon a helper binary
 2014-07-22  Benno Schulenberg  <bensberg@justemail.net>
 
        Fix a typo and some wordings in the documentation.
-
        * doc/tar.texi: Fix some missing articles, and make it clearer
        that "any" does not mean "anything" but "either of the two".
 
 2014-07-22  Nathan Stratton Treadway  <nathanst@ontko.com>
 
        Fix the testsuite
-
        * tests/incr07.at: Don't assume case-sensitive filesystem.
 
 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: minor fixups related to recent checkpoint.c change
-
        * src/checkpoint.c (getwidth, format_checkpoint_string):
        Use long and strtol, not int, to avoid overflow issues.
        (getwidth): Don't assume termios.h defines TIOCGWINSZ,
 2014-07-11  Sergey Poznyakoff  <gray@gnu.org>
 
        Bugfixes
-
        * gnulib.modules: Add faccessat
        * src/checkpoint.c: Include termios.h
 
 2014-06-29  Nathan Stratton Treadway  <nathanst@ontko.com>
 
        tar: document xgetcwd test case better
-
        * src/misc.c (normalize_filename): Add commentary for clarity.
        * tests/extrac09.at: Retitle test case and add comments for
        clarity.
 2014-06-24  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix typos in ChangeLog
-
        * ChangeLog.CVS: Fix typos.
        * ChangeLog.amend: New file.
        * Makefile.am: Define changelog_amend_file.
 2014-04-30  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: do not dereference NULL pointer with '--remove-files .'
-
        Problem reported by Thorsten Hirsch in:
        http://lists.gnu.org/archive/html/bug-tar/2014-04/msg00011.html
        * src/unlink.c (flush_deferred_unlinks):
 2014-03-27  Sergey Poznyakoff  <gray@gnu.org>
 
        Refuse to write archive contents to a tty.
-
        * NEWS: Update.
        * src/buffer.c (_open_archive): Refuse to write to a tty.
        * tests/iotty.at: Test output to a tty.
 2014-03-26  Vitezslav Cizek  <vcizek@suse.cz>
 
        fix an eternal loop in handle_option
-
        * src/names.c (handle_option): increment loop counter
 
 2014-03-20  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fail if archive comes from a terminal.
-
        Based on patch from Pavel Raiskup <praiskup@redhat.com>.
-
        * gnulib.modules: Add new modules.
        * src/buffer.c (_open_archive): Refuse to read archive from a tty.
        * tests/Makefile.am (TESTSUITE_AT): Add iotty.at
 2014-03-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: port to Solaris 9
-
        Problem reported by Jesse C in:
        http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00034.html
        * gnulib.modules: Add strtoimax and strtoumax, since tar invokes
 
 2014-02-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
-       Test the --[no-]recursive options (see commit 2bd9c153_.
-
+       Test the --[no-]recursive options (see commit 2bd9c153).
        * tests/recurs02.at: New test case.
        * tests/Makefile.am: Add new file.
        * tests/testsuite.at: Add new file.
 2014-02-22  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Support exclusion patterns from various VCS ignore lists.
-
        * src/Makefile.am (tar_SOURCES): Add exclist.c
        * src/common.h (EXCL_DEFAULT, EXCL_RECURSIVE)
        (EXCL_NON_RECURSIVE): New flags.
        and --exclude-vcs-ignores.
        (tar_stat_destroy): Free exclist.
        * src/tar.h (tar_stat_info): New member exclude_list.
-
        * NEWS: Document new exclusion options.
        * doc/tar.texi: Likewise.
        * doc/tar.1: Likewise.
 2014-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix in testsuite
-
        * acls03.at: Fix improper invocation of setfacl.
 
 2014-02-14  Pavel Raiskup  <praiskup@redhat.com>
 
        testsuite: add test for buggy default ACLs
-
        * tests/Makefile.am: Mention acls03.at.
        * tests/testsuite.at: Likewise.
        * tests/acls03.at: New testcase.
 
-2014-02-14  Pavel Raiskup  <praiskup@redhat.com>
-
        acls: bugfix for default ACLs extraction
-
        When --acls option is on (regardless of tarball contents or
        tarball format), we should explicitly set OR delete default ACLs
        for extracted directories.  Prior to this update, we always
        created arbitrary default ACLs based standard file permissions.
-
        * configure.ac (with_posix_acls): Check also for acl_free and
        acl_delete_def_file to mark IEEE 1003.1e ACLs as supported.
        * src/xattrs.c (acl_delete_def_file_at): New function.
        (xattrs__acls_set): Do not treat acls_option at all;  Delete
        default ACLs if appropriate.
-
        References:
        http://www.mail-archive.com/bug-tar@gnu.org/msg04355.html
        Thanks: Juan J. Martínez and Mark Steinborn
 
-2014-02-14  Pavel Raiskup  <praiskup@redhat.com>
-
        tar: imply --xattrs when --xattrs-{inc,exc}lude used
-
        Options --xattrs-include=MASK and --xattrs-exclude=MASK now turn
        on the --xattrs option.
-
        Fix also bug in printing in xattrs.c - don't print when option is
        negative.
-
        * src/tar.c (set_xattr_option): New static function.
        (parse_opt): Call new function when --xatrrs, --xattrs-include or
        --xattrs-exclude option is used.
 
        THANKS: Add Anthony G. Basile.
 
-2014-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Use correct headers/libraries when providing xattr support
-
        See https://savannah.gnu.org/patch/index.php?8252. Patch provided
        by Anthony G. Basile.
-
        * acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): Look for <sys/xattr.h>
        first and then for <attr/xattr.h>.  Link against libattr.so if
        needed.
        on which one is detected.
        * src/Makefile.am [TAR_LIB_ATTR] (tar_LDADD): Link against -lattr.
 
-2014-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Minor change
-
        * src/tar.c (decode_options): Silently ignore --one-top-level
        if used with a non-reading command.
 
 2014-02-14  Sergey Poznyakoff  <gray@gnu.org>
 
        New option --sort=ORDER
-
        This option makes tar sort the entries of directories that will be
-       added to an archive according to ORDER (none, name, or order).
-
+       added to an archive according to ORDER (none, name, or inode).
        Based on proposition by Dick Streefland
        (https://savannah.gnu.org/patch/?7892).
-
        * src/common.h (savedir_sort_order): New global.
        * src/create.c: Pass savedir_sort_order to streamsavedir.
        * src/misc.c: Likewise.
        * src/tar.c: New option --sort.
-
        * NEWS: Update.
        * doc/tar.texi: Document the --sort option.
        * doc/tar.1: Likewise.
 2014-02-13  Sergey Poznyakoff  <gray@gnu.org>
 
        Fix the testsuite
-
        * tests/opcomp01.at: Update expected error messages.
        * tests/opcomp03.at: Likewise.
 
 2014-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix --one-top-level used together with --list.
-
        * src/extract.c: Move one_top_level stuff to tar.c
        (decode_options).
        * src/tar.c (option_conflict_error): New function.
        * tests/Makefile.am: Add new testcase.
        * tests/testsuite.at: Add new testcase.
 
-2014-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Fix NEWS
-
        * NEWS: Remove duplicate description of the --one-top-level
        option.
 
 2014-02-12  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        configure.ac: look for host-prefixed ar
-
        See https://savannah.gnu.org/patch/?8183
 
 2014-02-10  Sergey Poznyakoff  <gray@gnu.org>
 
        Bugfix
-
        * src/suffix.c (find_compression_suffix): Fix eventual coredump.
 
 2014-02-10  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix docs.
 
-2014-02-10  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Update docs.
-
        * NEWS: Document --one-top-level
        * THANKS: Mention Connor Behan
 
 2014-01-28  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Improve one-top-level functionality
-
        Make sure the changes become visible with
        --show-transformed-names.
-
        * src/common.h (strip_compression_suffix): New function.
        (one_top_level): Rename to one_top_level_dir. All uses changed.
        * src/extract.c (extr_init): Use strip_compression_suffix.
        terminate with NULL entry.
        (find_compression_suffix): New static.
        (strip_compression_suffix): New function.
-
        * doc/tar.1: Update.
        * doc/tar.texi: Update.
-
        * tests/onetop01.at: New testcase.
        * tests/onetop02.at: New testcase.
        * tests/onetop03.at: New testcase.
 2014-01-27  Connor Behan  <connor.behan@gmail.com>
 
        Detect tarbombs while extracting
-
        * src/common.h (one_top_level_option): New global.
        (one_top_level): New global.
        * src/extract.c (extr_init): If one_top_level_option is set,
        (extract_archive): If one_top_level_option is set, prepend
        one_top_level
        to all names that don't already start with it.
-       * src/tar.c (ONE_TOP_LEVEL_OPTION): New contant.
+       * src/tar.c (ONE_TOP_LEVEL_OPTION): New content.
        (options): New option --one-top-level.
        (parse_opt): Handle this option.
        (decode_options): Make it conflict with --absolute-names.
 2014-01-27  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Don't install rmt.8 if rmt is not built.
-
        * doc/Makefile.am [PU_RMT_COND]: Define RMT_8
        (dist_man_MANS): use RMT_8 instead of the hardcoded rmt.8
 
-2014-01-27  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Provide tar(1) and rmt(8) manpages.
-
        * NEWS: Update.
        * doc/Makefile.am: Add manpages.
        * doc/tar.1: New file.
-
        * src/tar.c (tar_help_filter): Handle LZOP_OPTION.
 
 2014-01-23  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Make sure transformed file names retain trailing slash in listing.
-
        * src/list.c (simple_print_header): Print trailing slash
        if using the transformed name.
        Use had_trailing_slash instead of analyzing last byte if temp_name
 2014-01-22  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        checkpoint actions: further improvements.
-
        * NEWS: Update.
        * doc/tar.texi: Update.
        * src/buffer.c (print_stats): Avoid use of additional string
 2014-01-22  Sergey Poznyakoff  <gray@gnu.org>
 
        Improve checkpoint interface.
-
        * src/buffer.c (format_total_stats): The format arg is const
        All uses updated.
        (default_total_format): const
 2014-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Implement statistics display in checkpoint actions.
-
        * NEWS: Update.
        * configure.ac: Version 1.27.90
        * gnulib.modules: Add fprintftime.
 2014-01-10  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Remove shar archives from distribution.
-
        These are going to phase out in automake 2.0
 
 2014-01-10  Sergey Poznyakoff  <gray@gnu.org>
 
        Fix the use of --no-recursion and --recursion options.
-
        Each option remains in effect until cancelled by the next
-       ocurrence
+       occurrence
        of its counterpart, as stated in the documentation.
-
        * src/names.c (name_next_elt): Restore recursion_option from the
        value of matching_flags.
 
 2014-01-09  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor bugfixes
-
        * src/compare.c (diff_dumpdir): Close descriptor if fstat failed.
        (diff_multivol): Make sure the descriptor is closed and eventual
        errors reported if lseek fails.
 
 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
 
-       tar: work aruond IBM XL C bug
-
+       tar: work around IBM XL C bug
        * src/incremen.c (show_snapshot_field_ranges)
        (write_directory_file_entry): Use simpler array size expression,
        one that evaluates to the same value.  This works around
 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: update ancient configure cruft
-
        * configure.ac: Use AC_PROG_CC_STDC, not just AC_PROG_CC.
        Remove obsolete macros AC_ISC_POSIX, AC_HEADER_SYS_WAIT,
        AC_HEADER_DIRENT, AC_HEADER_STAT, AC_HEADER_STDC, AC_TYPE_SIGNAL,
 
        Version 1.27.1
 
-2013-11-17  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Fix star compatibility (sparse headers)
-
        * src/sparse.c (star_get_sparse_info): Update file->dumped_size
 
-2013-11-17  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Fix GNU long link header.
-
        * src/create.c (write_gnu_long_link): Set timestamp to
        0 for backward compatibility.  Bug reported by David Barri.
        * THANKS: Update.
 
-2013-11-17  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Fix unquoting of input file names.
-
        * src/names.c (read_next_name): Unquote file names coming from the
        -T argument.  Bug reported by Nicolas Dudebout.
        * THANKS: Update.
 2013-10-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        build: fix bug where 'configure --with-posix-acls' disables ACLs
-
        Reported by Lars Wendler in
        <http://lists.gnu.org/archive/html/bug-tar/2013-10/msg00022.html>.
        * configure.ac (with_posix_acls): Fix typo.
 2013-10-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        Fix core dump on Solaris 10 when "." isn't readable.
-
        Reported by Peter Kruse in
        <http://lists.gnu.org/archive/html/bug-tar/2013-10/msg00017.html>.
        This doesn't fix all the Solaris 10 test failures, just the
 2013-10-06  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Version 1.27
-
        * NEWS: Update.
        * configure.ac: Update.
 
-2013-10-06  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Minor fixes.
-
        * src/names.c: Include argp.h
        * tests/testsuite.at (AT_XATTRS_UTILS_PREREQ)
        (AT_SELINUX_UTILS_PREREQ,AT_ACLS_UTILS_PREREQ)
 2013-10-05  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Xfail the remfiles09b test.
-
        * tests/remfiles09b.at: Turn into expected failure.
 
 2013-10-05  Nathan Stratton Treadway  <nathanst@ontko.com>
 
        Tiny change
-
        * scripts/tar-snapshot-edit: Mention --show-snapshot-field-ranges
        option
 
 2013-10-05  Pavel Raiskup  <praiskup@redhat.com>
 
        Tiny change
-
        * configure.ac (RSH): Define as AC_ARG_VAR.
 
 2013-10-05  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix namespace contamination in testsuite.
-
        * tests/append01.at: Use m4_pushdef/m4_popdef to define local
        macros.
        * tests/delete03.at: Likewise.
 2013-10-05  Nathan Stratton Treadway  <nathanst@ontko.com>
 
        Provide comprehensive testcases for various file removal modes.
-
        * tests/Makefile.am: Add new testcases.
        * tests/testsuite.at: Likewise.
        * tests/incr09.at: Add description.
 2013-10-03  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Tiny changes.
-
        * src/misc.c: Fix comments, rename wd.cwd to wd.abspath (Nathan
        Stratton
        Treadway);
 2013-10-01  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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 ..
        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  <gray@gnu.org.ua>
 
        Bugfix
-
        * tests/remfiles08.at: Restore missing find
 
 2013-09-26  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
+       (tar_getcwd): Take into account absolute pathnames.
        * src/unlink.c (deferred_unlink) <dir_idx>: New member; keeps the
        value of chdir_current at the moment of structure allocation.
        (flush_deferred_unlinks): Use chdir_do and relative addressing.
 2013-09-25  Nathan Stratton Treadway  <nathanst@ontko.com>
 
        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"
 2013-09-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Improve tar_getcwd
-
        * src/common.h (tar_getcwd): Return pointer is const.
        * src/misc.c (wd) <cwd>: New member.
        (chdir_arg): Initialize cwd.
        * 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.
 2013-09-24  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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)
 2013-09-23  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
        (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  <gray@gnu.org.ua>
 
        Fix error message (complements 0ea6e686)
-
        * src/tar.c (set_subcommand_option): Mention --delete in the
        error message.
 
 2013-09-15  Nathan Stratton Treadway  <nathanst@ontko.com>
 
        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.
 2013-09-15  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
        * tests/testsuite.at: Likewise.
        * THANKS: Updated.
 
-2013-09-15  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Minor fix
-
        * src/tar.c (main): Mention --delete in the error message.
        * THANKS: Update
 
 
        * src/names.c (file_list_name): Properly prototype.
 
-2013-09-13  Paul Eggert  <eggert@cs.ucla.edu>
-
        tar: don't warn about zero timestamps
-
-       * src/extract.c (check_time): Suppress warniing when t.tv_sec
-       == 0.
+       * src/extract.c (check_time): Suppress warning when t.tv_sec == 0.
        Problem reported by Denis Excoffier.
 
 2013-08-19  Pavel Raiskup  <praiskup@redhat.com>
 
        Minor fix in the testsuite.
-
        * tests/T-cd.at: sort the 'tar cf' output.
 
 2013-08-17  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 
        Revamp initial name collection functions to ensure proper
        argument ordering.
-
        * src/names.c (NELT_NOOP): New constant
        (name_elt) <next,prev>: New members.
        (name_array,allocated_entries,entries,scanned): Remove.
        * tests/Makefile.am: Add new testcases.
        * tests/testsuite.at: Likewise.
 
-2013-08-16  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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  <gray@gnu.org.ua>
-
        Minor change.
-
        * src/names.c (name_next_elt): Simplify conditional.
 
 2013-08-15  Pavel Raiskup  <praiskup@redhat.com>
 
        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  <gray@gnu.org.ua>
 
        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  <gray@gnu.org.ua>
 
        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  <gray@gnu.org.ua>
-
-       Fix interacton of --verbose and --append.
-
+       Fix interaction 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/testsuite.at: Add new testcase.
        * THANKS: Update.
 
-2013-08-04  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Bugfix.
-
        * src/names.c (read_name_from_file): Fix a typo. Remove
        unused variable.
 
-2013-08-04  Sergey Poznyakoff  <gray@gnu.org.ua>
-
-       Reduce memory consuption when handling the -T option.
-
+       Reduce memory consumption 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
        was reported by Christian Wetzel <wetzel@phoenix-pacs.de>
        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
+       On the other hand, Michal Žeidl discovered that tar malfunctioned
        when given empty file lists or lists with the trailing newline
-       misssing in the last entry.  This was reported by Pavel Raiskup
+       missing 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.
        (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  <gray@gnu.org.ua>
 
        Fix the compatibility check for the --occurrence option.
-
        * src/tar.c (SUBCL_OCCUR): New class.
        (subcommand_class): Update.
        (decode_options): Accept the --occurrence option
 2013-06-29  Pavel Raiskup  <praiskup@redhat.com>
 
        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.
 2013-06-29  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 2013-06-28  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
 
        maint: revert previous change
-
        It wasn't actually needed.  Reported by Stefano Lattarini in
        <http://lists.gnu.org/archive/html/bug-tar/2013-04/msg00041.html>.
        * configure.ac (AM_GNU_GETTEXT_VERSION): Decrease from 0.18.2
 2013-04-25  Paul Eggert  <eggert@cs.ucla.edu>
 
        maint: port to bleeding-edge Automake by assuming Gettext 0.18.2
-
        Reported by Stefano Lattarini in
        <http://lists.gnu.org/archive/html/bug-tar/2013-04/msg00009.html>.
        * configure.ac (AM_GNU_GETTEXT_VERSION): Increase from 0.16
        README-alpha says that we do not make any efforts to accommodate
        older versions of Gettext.
 
-2013-04-25  Paul Eggert  <eggert@cs.ucla.edu>
-
        tar: port to --without-xattrs --enable-gcc-warnings
-
        Reported by Pavel Raiskup in
        <http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00029.html>.
        * src/xattrs.c (xattrs__fd_set) [!HAVE_XATTRS]: Omit.
 
-2013-04-25  Paul Eggert  <eggert@cs.ucla.edu>
-
        doc: port to texinfo 5
-
        * doc/tar.texi (Reports, assumptions, Mixing):
        Put FIXMEs at line start.
 
 
        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  <gray@gnu.org.ua>
-
        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
        (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.
 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
 
        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.
 2013-02-10  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
        (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  <nathanst@ontko.com>
 
        tar: improve compile-time diagnostics
-
        * src/misc.c (sysinttostr, strtosysint): Improve #error wording.
 
 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: improve quality of diagnostics with incrementals
-
        Inspired by a prototype by Nathan Stratton Treadway in
        <http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00000.html>.
        * src/incremen.c (read_num): Rewrite by merging read_negative_num
 
        tar: fix bug with sparse files with effective size of 8 GiB
        or more
-
        Reported by Pavel Raiskup in
        <http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00001.html>.
        * NEWS: Document the fix.
 
        maint: update copyrights for 2013 and as per current GNU standards
 
-2012-12-31  Paul Eggert  <eggert@cs.ucla.edu>
-
        maint: remove unnecessary file
-
        * src/configure.in: Remove.  This file has been obsolete for
        a while.
 
 2012-12-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
-
        Fix some problems with negative and out-of-range integers.
-
        Original problem reported for HP-UX LVM v2.2 by Michael White in
        <http://lists.gnu.org/archive/html/bug-tar/2012-10/msg00000.html>.
        This patch fixes some other gotchas that I noticed.
 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
-
        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  <eggert@cs.ucla.edu>
 
        tar: remove unused externs, or make them static
-
        * src/buffer.c (record_buffer_aligned, flush_write_ptr,
        flush_read_ptr)
        (duration):
        * src/tar.c (check_links_option, allocated_archive_names):
        Move decls here from common.h; these are now static.
 
-2012-12-19  Paul Eggert  <eggert@cs.ucla.edu>
-
        * .gitignore: Regenerate.
 
-2012-12-19  Paul Eggert  <eggert@cs.ucla.edu>
-
        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.
        * 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  <eggert@cs.ucla.edu>
-
        tar: don't truncate diagnostic
-
        * src/list.c (from_header): Fix buffer size calculation when
        generating a diagnostic.
 
 2012-12-03  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Bugfix.
-
        * tests/Makefile.am: Fix double AM_CPPFLAGS
 
 2012-12-01  Sergey Poznyakoff  <gray@gnu.org.ua>
 2012-11-19  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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  <gray@gnu.org.ua>
-
        Fix indentation.
 
 2012-11-19  Pavel Raiskup  <praiskup@redhat.com>
 
        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/Makefile.am: Add new test case.
        * tests/testsuite.at: Likewise.
 
-2012-11-19  Pavel Raiskup  <praiskup@redhat.com>
-
        Bugfixes.
-
        * configure.ac: Avoid linking against -lacl when
        --without-posix-acls is given.
        * tests/selacl01.at: Call restorecon
        * tests/testsuite.at (AT_SELINUX_UTILS_PREREQ): Likewise.
        (AT_SELINUX_PREREQ,AT_ACLS_PREREQ): Use the right _PREREQ macros.
 
-2012-11-19  Pavel Raiskup  <praiskup@redhat.com>
-
        Fix bootstrapping.
-
        * bootstrap (gnulib_extra_files): Remove $build_aux/missing
 
 2012-11-19  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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  <gray@gnu.org.ua>
 
        Minor change.
-
        * src/xattrs.c: Fix indentation. Fix copyleft statement, promote
        to GPLv3+.
        * src/xattrs.h: Likewise
 2012-11-18  Pavel Raiskup  <praiskup@redhat.com>
 
        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) <cntx_name>: New member.
        * tests/selacl01.at: New test.
        * tests/selnx01.at: New test.
 
-2012-11-18  Pavel Raiskup  <praiskup@redhat.com>
-
        Support for POSIX ACLs
-
        * configure.ac: Check whether ACLs are available on the
        host system.
        * gnulib.modules: Add acl
        * tests/acls01.at: New test.
        * tests/acls02.at: New test.
 
-2012-11-18  Pavel Raiskup  <praiskup@redhat.com>
-
-       Add basic suuport for extended attributes.
-
+       Add basic support for extended attributes.
        * src/Makefile.am: Add xattrs.[ch]
        * src/xattrs.c: New file.
        * src/xattrs.h: New file.
 2012-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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 <pavel@raiskup.cz> 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
 
        Fix creation of incremental archives when a subdirectory becomes
        a mountpoint.
-
-       When used with --listed-incrfental and --one-file-system, tar
+       When used with --listed-incremental 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
+       dumped system and became separate mount points afterward.  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.
 2012-07-27  Jim Meyering  <jim@meyering.net>
 
        maint: try to avoid unwanted chatter in ChangeLog
-
        * bootstrap.conf: Do not alter ChangeLog if it already exists.
 
 2012-07-26  Paul Eggert  <eggert@cs.ucla.edu>
 
        doc: improve discussion of compressed archives
-
        * doc/tar.texi (gzip): Don't claim that -I 'gzip --best' works.
        Problem reported by Davide Brini in
        <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00025.html>.
        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
 2012-06-27  Paul Eggert  <eggert@cs.ucla.edu>
 
        tests: fix permissions-assumption bug in test
-
        * tests/owner.at: Don't assume umask is 022.
        Reported by Pavel Raiskup in
        <http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00015.html>.
 
-2012-06-27  Paul Eggert  <eggert@cs.ucla.edu>
-
        tar: don't assume root is uid 0
-
        This is not true for Tandem NonStop Kernel.  See Joachim Schmitz's
        comment in <http://bugs.gnu.org/10305#111>.
        * gnulib.modules: Add root-uid.
 
        * src/compare.c (diff_dumpdir): Omit useless 'stat'.
 
-2012-04-25  Paul Eggert  <eggert@cs.ucla.edu>
-
        * doc/tar.texi (Option Summary): Fix xref typo.
-
        Reported by Nathan Stratton Treadway in
        <http://lists.gnu.org/archive/html/bug-tar/2012-04/msg00035.html>.
-
        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
 2012-03-29  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix unrecognized option.
-
        * src/tar.c (parse_opt): Handle OLD_ARCHIVE_OPTION.
 
 2012-03-11  Paul Eggert  <eggert@cs.ucla.edu>
 
        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)
 2012-02-14  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
 
        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,
        * tests/volume.at:
        Adjust tests to match new quoting behavior.
 
-2012-01-18  Paul Eggert  <eggert@cs.ucla.edu>
-
        tar: port --overwrite symlink test to GNU/Hurd
-
        Problem reported by Pino Toscano in
        <http://lists.gnu.org/archive/html/bug-tar/2012-01/msg00040.html>.
        * 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
 2012-01-11  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
 
        tar: don't assume O_NONBLOCK is benign on regular files
-
-       On Data Migration Facility (DMF), High Peformance Storage System
+       On Data Migration Facility (DMF), High Performance Storage System
        (HPSS),
        and presumably other file systems based on hierarchical storage,
        opening
 2011-11-26  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix --keep-old-files option.
-
        The regression was introduced by 8f390db9.  This patch implements
        additional
        option --skip-old-files, which silently skips members which
        writing over existing files, and restores --keep-old-files to
        its traditional
        behavior.
-
        * NEWS: Update.
        * configure.ac: Update.
        * doc/tar.texi: Document the changes.
 
        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  <gray@gnu.org.ua>
-
        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  <gray@gnu.org.ua>
 
        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
 2011-10-18  Paul Eggert  <eggert@cs.ucla.edu>
 
        * doc/tar.texi (Option Summary, absolute): Document -P better,
-
        by describing how it deals with symbolic links on extraction.
 
 2011-09-28  Paul Eggert  <eggert@cs.ucla.edu>
 
        2011-09-27 Paul Eggert <eggert@cs.ucla.edu>
-
        * src/tar.c (stat_on_signal): Use SA_RESTART if available.
 
 2011-09-20  Paul Eggert  <eggert@cs.ucla.edu>
 
        * 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  <gray@gnu.org.ua>
 
        Minor changes.
-
        * scripts/tar-snapshot-edit: License under GPLv3+.
        Remove trailing whitespace.
 
 2011-09-19  Nathan Stratton Treadway  <nathanst+bugtar@ontko.com>
 
        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  <nathanst+bugtar@ontko.com>
-
        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
 2011-08-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
        * tests/Makefile.am (TESTSUITE_AT): Add it.
        * tests/testsuite.at: Include it.
 
-2011-08-13  Paul Eggert  <eggert@cs.ucla.edu>
-
        .gitignore: update
-
        * .gitignore: Add rmt.
        * lib/.gitignore: New file.
 
 2011-07-30  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix the --exclude-backups option.
-
-       * src/tar.c (add_exclude_array): Take exclude option filags in its
+       * src/tar.c (add_exclude_array): Take exclude option flags in its
        second argument.
        (parse_opt): Register backup_file_table with the EXCLUDE_WILDCARDS
        flag.
 2011-06-08  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: simplify birthtime calculations
-
        * src/extract.c (same_birthtime): Remove.
        (extract_link, apply_delayed_links): Go back to using
        timestamp_cmp
        relies
        on an up-to-date gnulib.
 
-2011-06-08  Paul Eggert  <eggert@cs.ucla.edu>
-
        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
        <http://lists.gnu.org/archive/html/bug-tar/2011-06/msg00000.html>
 
        * 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  <gray@gnu.org.ua>
 
        Testsuite fix.
-
        * tests/sparse04.at: Use the -f option.
 
-2011-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Version 1.26
-
        * NEWS, configure.ac: Update.
        * po/POTFILES.in: Remove paxexit.c (see bb971a1e).
 
 2011-03-08  Paul Eggert  <eggert@cs.ucla.edu>
 
        --atime-preserve=replace: fix correctness and performance bugs
-
        reported by Eric Blake in
        <http://lists.gnu.org/archive/html/bug-tar/2011-03/msg00000.html>.
        * src/compare.c (diff_file): Do not restore atime of size-zero
 2011-02-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        * doc/tar.texi: Adjust example commands and output for accuracy.
-
        The original problem was reported by Michael Witten in
        <http://lists.gnu.org/archive/html/bug-tar/2011-02/msg00033.html>.
 
 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
 2010-12-14  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 2010-12-07  Paul Eggert  <eggert@cs.ucla.edu>
 
        tests: make the truncate test smaller and less buggy (tiny change)
-
        Reported by Solar Designer in
        <http://lists.gnu.org/archive/html/bug-tar/2010-12/msg00003.html>.
        * tests/truncate.at: Use a smaller test case, and make its
 
        tests: skip SIGPIPE-dependent tests in environments ignoring
        SIGPIPE
-
        Problem reported by Sven Joachim in
        <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00043.html>.
        * tests/remfiles01.at: Use AT_SIGPIPE_PREREQ.
 
        tar: work around NetBSD and Tru64 symlink incompatibility
        with POSIX
-
        Problem reported by Bruno Haible in
        <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00306.html>.
        * src/extract.c (maybe_recoverable):  Also treat EFTYPE (if
 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
-
        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  <eggert@cs.ucla.edu>
 
        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
        <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00080.html>.
 
-2010-11-23  Paul Eggert  <eggert@cs.ucla.edu>
-
        * src/names.c: tar: fix bug with --one-file-system
        --listed-incremental
-
        Problem (and idea for fix) reported by Martin Weigel
        <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00071.html>.
        * src/common.h (is_individual_file): Remove decl.
        * src/names.c (individual_file_table, register_individual_file):
        (is_individual_file): Remove.  All uses removed.
 
-2010-11-23  Paul Eggert  <eggert@cs.ucla.edu>
-
        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  <eggert@cs.ucla.edu>
-
        scripts: fix option parsing
-
        Problem reported by Dennis Wydra in
        <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00082.html>.
        * scripts/backup.in: Accept "-l LEVEL".  Be more systematic about
 
 2010-11-15  Sergey Poznyakoff  <gray@gnu.org.ua>
 
-       Issue a warning if the archive being compared contais transformed
+       Issue a warning if the archive being compared contains 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  <gray@gnu.org.ua>
-
        Minor change.
-
        * doc/tar.texi: Reword the description of decompress-program.
 
 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
 2010-11-08  Jim Meyering  <meyering@redhat.com>
 
        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  <gray@gnu.org.ua>
 
        Version 1.25
-
        * configure.ac: Version 1.25
        * NEWS: Describe the changes.
 
 
        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'
        to handle lzma, etc.)  Tar tries to use such programs for
        decompression
        if the principal decompressor cannot be started.
-
        * src/buffer.c (compress_type): Swap ct_none and ct_tar.
        (archive_compression_type): New static variable.
        (zip_magic): Remove program and option fields.
 2010-11-02  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
 2010-11-01  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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  <eggert@cs.ucla.edu>
 
        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
        <http://lists.gnu.org/archive/html/bug-tar/2010-04/msg00023.html>.
        * src/list.c (decode_header): Likewise.
 
-2010-10-28  Paul Eggert  <eggert@cs.ucla.edu>
-
        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
        <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00041.html>;
        solution suggested by Jilles Tjoelker in
        <http://article.gmane.org/gmane.comp.shells.dash/415>.
-
        * tests/extrac11.at (scarce file descriptors): Close file
        descriptors before invoking ulimit -n.
 
 2010-10-27  Sergey Poznyakoff  <gray@gnu.org.ua>
 
-       Transform file names when updating and appendig to archives.
-
+       Transform file names when updating and appending to archives.
        This complements 28e91b48.
-
        * src/common.h (transform_stat_info): New prototype.
        * src/list.c (transform_stat_info): Remove static qualifier.
        * src/update.c (update_archive): Call transform_stat_info.
 2010-10-27  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
+       where it outputs "No differences encountered".
 
        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.
-
        * 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  <eggert@cs.ucla.edu>
-
        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.
 2010-10-26  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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
        decode_header.
        (read_and): Call transform_stat_info right before do_something,
        and after deciding if we should proceed with this member name,
        so that name matching occurs before name transformation.
-
        * tests/extrac17.at: New file.
        * tests/Makefile.am (TESTSUITE_AT): Add extrac17.at
        * tests/testsuite.at: Include extrac17.at.
 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <gray@gnu.org.ua>
 
        Further fixes in bootstrap.
-
        * bootstrap: Restore the default for gnulib_path
        (symlink_to_dir): Re-apply 67cad07.
 
 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: fix bug with -C and extracting directories
-
        Problem reported by Denis Excoffier in
        <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00034.html>.
-
        * src/extract.c (extract_dir): Use mkdirat, not mkdir.
        * tests/extrac16.at: New file, to test for this bug.
        * tests/Makefile.am (TESTSUITE_AT): Add it.
        * tests/testsuite.at: Include it.
-
        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
 2010-10-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Version 1.24
-
        * configure.ac, NEWS: Version 1.24
        * bootstrap: Restore tar-specific code lost during last
        sync from gnulib (241b72ffad).
 2010-10-16  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
        * tests/Makefile.am (TESTSUITE_AT): Add it.
        * tests/testsuite.at: Include it.
 
-2010-10-16  Paul Eggert  <eggert@cs.ucla.edu>
-
        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
        slightly in advance of ours.  Fix the problems that I observed
        when running "make check" a couple of times on such a server.
-
        * tests/backup01.at: Use --warning=no-timestamp to suppress
        clock-skew warnings.
        * tests/chtype.at, tests/comprec.at, tests/exclude06.at:
 
        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.
 2010-09-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        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.
        * tests/Makefile.am (TESTSUITE_AT): Add it.
        * tests/testsuite.at: Include it.
 
-2010-09-24  Paul Eggert  <eggert@cs.ucla.edu>
-
        tar: --dereference consistency
-
        This closes another race condition, that occurs when overwriting a
        symlink with a regular file.
        * NEWS (--dereference consistency): New section.
 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: do not crash with --listed-incremental
-
        Problem reported by Frantisek Hanzlik in
        <https://bugzilla.redhat.com/635318> via Kamil Dudka in
        <http://lists.gnu.org/archive/html/bug-tar/2010-09/msg00066.html>.
 2010-09-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
        to date.  This code won't scale well, but is good enough for now.
        * src/update.c (update_archive): Use openat + fdopendir +
        streamsavedir rather than savedir.
-
        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
 2010-09-18  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: add utimens.h includes
-
        * src/extract.c: Include <utimens.h>, needed for fdutimens
        prototype.
        * src/misc.c: Likewise.
 
-2010-09-18  Paul Eggert  <eggert@cs.ucla.edu>
-
        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.
 2010-09-17  Paul Eggert  <eggert@cs.ucla.edu>
 
        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.
        * tests/Makefile.am (TESTSUITE_AT): Add it.
        * tests/testsuite.at: Likewise.
 
-2010-09-17  Paul Eggert  <eggert@cs.ucla.edu>
-
        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  <eggert@cs.ucla.edu>
-
        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
 2010-09-16  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
-
        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  <eggert@cs.ucla.edu>
-
        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.
-
        It also drops the use of the _FIOSATIME ioctl of Solaris 2.x
        and later, which loses resolution on time stamps.  Modern Solaris
        systems support full-resolution time stamps in the kernel, and
        it's not worth the hassle of testing this call, useful only in
        no-longer-supported Solaris variants.
-
        Also, it undoes a change I recently introduced to the --compare
        option, which caused it to not follow symbolic links unless the
        --dereference option was also used.  Quite possibly this change is
        a good idea, but the old behavior was documented and the change
        should not have been installed casually.
-
        * configure.ac: Don't check for stropts.h and sys/filio.h.
        * gnulib.modules: Add futimens, utimensat.  Remove futimens.
        * src/common.h (fd_utimensat): New decl.
        Don't use open_read_flags: those are for --create only.
        * src/create.c (dump_file0): Adjust to set_file_atime changes.
        Pass fstatat_flags to set_file_atime, so that symbolic links are
-       not followed inadvertantly.
+       not followed inadvertently.
        * src/extract.c: Don't include utimens.h.
        (set_stat): Use fd_utimensat ant UTIME_NOW rather than fdutimens.
        * src/misc.c: Don't include utimens.h, stropts.h, sys/filio.h.
 2010-09-14  Paul Eggert  <eggert@cs.ucla.edu>
 
        * 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.
 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
        <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>
        and gnulib commit 970c9038e4cca46e1b037ae0a6d574dfae6a7327.
 
-2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
-
        * NEWS: Fix wording typo in previous change.
-
        Reported by Jim Meyering.
 
-2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
-
        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.
 2010-09-08  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: improve documentation of reliability and security issues
-
        * doc/tar.texi (Reliability and security, Reliability):
        (Permissions problems, Data corruption and repair, Race
        conditions):
 2010-09-06  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
 2010-09-05  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
 2010-09-04  Paul Eggert  <eggert@cs.ucla.edu>
 
        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.
 2010-09-03  Paul Eggert  <eggert@cs.ucla.edu>
 
        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.
 2010-08-27  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix --remove-files in update/append mode.
-
        * src/update.c (update_archive): Call finish_deferred_unlinks when
        done.
 
 
        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.
        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  <eggert@cs.ucla.edu>
-
        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.
 2010-08-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 2010-08-25  Paul Eggert  <eggert@cs.ucla.edu>
 
        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
        <http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00038.html>.
        Also, omit unnecessary lseek at start of file.
 
-2010-08-25  Paul Eggert  <eggert@cs.ucla.edu>
-
        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.
        * src/xheader.c (sparse_numbytes_decoder, sparse_map_decoder):
        Likewise.
 
-2010-08-25  Paul Eggert  <eggert@cs.ucla.edu>
-
        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.
 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        tar: add comment to link04.at test
-
        * tests/link04.at: Add explanatory comment at head.
 
-2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
-
        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
        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  <eggert@cs.ucla.edu>
-
        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
 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
-
        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):
        * src/tar.c (request_stdin): Now static.
        * src/xheader.c (xheader_init): Now static.
 
-2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
-
        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.
 2010-08-20  Paul Eggert  <eggert@cs.ucla.edu>
 
        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  <eggert@cs.ucla.edu>
-
        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:
 2010-08-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        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.
 2010-07-18  Paul R. Eggert  <eggert@cs.ucla.edu>
 
        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
        * tests/testsuite.at: Include it.
        * tests/Makefile.am (TESTSUITE_AT): Add it.
 
-2010-07-18  Paul R. Eggert  <eggert@cs.ucla.edu>
-
        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
 2010-07-17  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 2010-07-15  Paul R. Eggert  <eggert@cs.ucla.edu>
 
        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
 
        Keep a detailed map of archive members stored in the record
        buffer.
-
        A separate map (bufmap) provides information for creating
        multi-volume continuation headers.
-
        * src/buffer.c (bufmap): New struct.
        (bufmap_head, bufmap_tail, inhibit_map): New variables.
        (mv_begin_write): New function.
        (mv_size_left): Update bufmap_head.
        (mv_end): Rewrite.
        (multi_volume_sync): Remove.
-
        * src/common.h (mv_begin_write): New prototype.
        (mv_begin): Rename to mv_begin_read.
        * src/create.c: Use mv_begin_write instead of mv_begin.
        Remove calls to mv_size_left and mv_end.
        * src/sparse.c: Likewise.
-
        * tests/multiv07.at: Close stdin.
        * tests/spmvp00.at: Update AT_KEYWORDS.
        * tests/spmvp10.at: Likewise.
-
        * tests/multiv08.at: New testcase.
        * tests/Makefile.am, tests/testsuite.at: Add multiv08.at.
 
-2010-07-11  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Version 1.23.90
-
        * NEWS, configure.ac: Version 1.23.90
        * doc/tar.texi: Document the use of lbzip2.
 
 
        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.
-
        * src/compare.c (diff_archive): Remove call to decode_header.
        * src/extract.c (extract_archive): Likewise.
-
        * test/exclude06.at: New test case.
        * tests/testsuite.at: Include exclude06.at.
        * tests/Makefile.am (TESTSUITE_AT): Add exclude06.at.
 
-2010-06-28  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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  <gray@gnu.org.ua>
 
        Minor fix.
-
        * src/buffer.c (magic): Fix xz magic.
 
 2010-06-16  Paul Eggert  <eggert@cs.ucla.edu>
 
        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):
        _single_transform_name_to_obstack):
        (_transform_name_to_obstack): Likewise.
        * src/unlink.c (dunlink_alloc): Likewise.
-
        * src/buffer.c (struct zip_magic): Use const when appropriate.
        * src/incremen.c (obstack_code_rename,
        write_directory_file_entry):
        * src/system.c (dec_to_env, time_to_env, oct_to_env, str_to_env):
        (chr_to_env): Likewise.
        * src/tar.c (tar_list_quoting_style, set_stat_signal): Likewise.
-
        * src/extract.c (extract_node): Don't return garbage.
-
        * src/names.c: Remove old-style declarations of getgrnam etc.
        All modern systems declare these, and it's not worth the hassle
        of ignoring the warnings on modern systems for old-style decls.
 2010-05-17  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Bugfix.
-
        * src/incremen.c (make_directory): Retain the slash if it is the
        only character in a filename.
 
 2010-04-01  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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  <gray@gnu.org.ua>
 
        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.
 2010-03-27  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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  <gray@gnu.org.ua>
-
        Fix coredump.
-
        * src/names.c (collect_and_sort_names): Remove
        entry from the table before freeing it.
 
-2010-03-27  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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
 2010-03-20  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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
 2010-03-17  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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
        effectively ignored existence of symbolic links and
        was unable to remove a directory that contained any
        (Alexander Kozlov <akozlov@nada.kth.se>, 2010-03-15).
-
        * gnulib.modules: Remove canonicalize.
        * src/misc.c (normalize_filename): Rewrite
        from scratch. The function operates only on
 2010-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Bugfixes.
-
        * src/buffer.c (check_label_pattern): Initialize result.
        * tests/remfiles01.at: Skip if run with root privileges.
 
 2010-03-11  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix `--test-label' and `--label -r' behavior.
-
        * doc/tar.texi (Including a Label in the Archive): Revise
        the section.
        * NEWS: Update
-
        * src/buffer.c (open_archive): Check volume label on
        ACCESS_UPDATE as well.
        * src/list.c (test_archive_label): Rewrite to match the
        * src/names.c (regex_usage_warning): Return int.
        (names_notfound): Rewrite the conditional.
        (label_notfound): New function.
-
        * tests/label03.at: New testcase.
        * tests/label04.at: New testcase.
        * tests/label05.at: New testcase.
        * tests/Makefile.am: Add new testcases.
        * tests/testsuite.at: Likewise.
 
-2010-03-11  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Doc fixes.
-
        * doc/tar.texi: Consistently use lowercase `see' within sentences.
        More fixes spotted by Denis Excoffier.
        * THANKS: Update.
 
-2010-03-11  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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  <gray@gnu.org.ua>
-
        Bugfix.
-
        * src/names.c (collect_and_sort_names): Initialize prev_name.
        Reported by Dmitry V. Levin.
 
 2010-03-10  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Version 1.23
-
        * configure.ac, NEWS: Update version number.
 
-2010-03-10  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Doc changes.
-
        * NEWS: Update.
        * THANKS: Update.
        * doc/snapshot.texi, doc/snapshot.texi,
 2010-03-08  Kamil Dudka  <kdudka@redhat.com>
 
        Fix possible overflow in code_timespec (tiny change)
-
        * src/misc.c (code_timespec): ignore invalid values of ns
 
 2010-03-08  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor fix in the testsuite.
-
        * tests/extrac05.at: Skip test if creating
        sparse file fails.
 
-2010-03-08  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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.
 2010-03-02  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor change.
-
        * doc/tar.texi: Improve some wording.
 
 2010-03-02  Antonio Diaz Diaz  <ant_diaz@teleline.es>
 
        Add Lzip support
-
        * configure.ac: Add TAR_COMPR_PROGRAM(lzip)
        * doc/tar.texi: Reflect lzip support.
        * src/buffer.c (compress_type) <ct_lzip>: New constant.
 2010-03-02  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor fix.
-
        * tests/exclude05.at: Rewrite awk invocation to avoid
        overflowing awk's file table on Solaris.
 
 2010-03-02  Eric Blake <ebb9@byu.net>
 
        Fix large file support.
-
        * scripts/xsparse.c (read_map): Use fseeko.
        * src/incremen.c (write_directory_file): Likewise.
 
 2010-03-02  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Bugfix
-
        * src/buffer.c (seek_archive): Rewrite size computation
        to prevent it from reaching negative values. Based on
        report by Denis Excoffier <Denis.Excoffier@free.fr>.
 2010-02-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 2010-02-17  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor change.
-
        * src/names.c (regex_usage_warning): Fix warning message.
 
 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
 2010-02-05  Ondřej Vašík  <ovasik@redhat.com>
 
        Bugfix (tiny change)
-
        * src/xheader.c (xheader_read): Remove unnecessary call
        to xheader_init.
 
 2010-01-26  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Enable silent build mode.
-
        * configure.ac: Require automake 1.11, autoconf 2.63. Enable
        silent rules.
        * NEWS: Update.
 2010-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
        * src/buffer.c (try_new_volume): Allow for volumes split at the
        extended/ustar header boundary. This is against POSIX specs, but
        we must be able to read such archives anyway.
-
        * tests/multiv07.at: New test case.
        * tests/Makefile.am: Add multiv07.at
        * tests/testsuite.at: Likewise.
-
        * src/compare.c: Update calls to read_header.
        * src/delete.c: Likewise.
        * src/update.c: Likewise.
 2010-01-24  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor change.
-
        * NEWS: Update.
        * doc/tar.texi: Update.
        * src/create.c (finish_header): Minor change.
 2010-01-24  Rob Vermaas  <rob.vermaas@gmail.com>
 
        Bugfix (tiny change).
-
        * src/tar.c (format_default_settings)[REMOTE_SHELL]: Fix
        misplaced comma.
 
 2010-01-24  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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  <gray@gnu.org.ua>
-
        Improve handling of --test-label.
-
        * src/list.c (print_volume_label): New function.
        (print_header): Call print_volume_label.
        (test_archive_label): New function.
        (parse_opt): Set subcommand if --test-label is given.
        (main): Handle TEST_LABEL_SUBCOMMAND.
 
-2010-01-24  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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.
        updated.
        (decg): If XHDR_GLOBAL bit is set, call the keyword's decode
        method instead of adding it to `kwl'.
-
        * src/compare.c: Update calls to read_header.
        * src/create.c: Likewise.
        * src/delete.c: Likewise.
        because
        it is inconsistent: it is not printed if the volume begins with a
        member continued from the previous volume.
-
        * tests/label01.at: New testcase.
        * tests/label02.at: New testcase.
        * tests/Makefile.am, tests/testsuite.at: Add new testcases.
 2010-01-22  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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
 2009-10-14  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Rewrite update algorithm.
-
        * src/common.h (namebuf_t): New typedef.
        (namebuf_create, namebuf_free)
        (namebuf_name): New prototypes.
        Instead of adding unmodified files to the avoided_name
        table, create namelist so that it contains only
        modified files.
-
        * tests/Makefile.am: Add update01.at, update02.at
        * tests/testsuite.at: Likewise.
        * tests/update.at (AT_KEYWORDS): Add update00.
 
-2009-10-14  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Minor changes.
-
        * src/tar.c (main): Ignore SIGPIPE.
        * src/system.c (sys_child_open_for_compress)
        (sys_child_open_for_uncompress): Reset SIGPIPE
        * tests/remfiles01.at: Avoid race conditions.
        * tests/remfiles02.at: Likewise.
 
-2009-10-14  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Bugfix.
-
        * src/buffer.c (_open_archive): Call guess_seekable_archive
        only if the call to open_compressed_archive succeeded.
 
 2009-10-10  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Improve previous changes.
-
        * acinclude.m4: Fix typos.
        * gnulib.modules: Add xvasprintf.
        * src/common.h: Include xvasprintf.h.
        (parse_opt): Use *_PROGRAM defines instead of hardcoded
        program names.
 
-2009-10-10  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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
        lbzip2 executed
        whenever user calls `tar --bzip2'.
-
        * acinclude.m4: New file.
        * configure.ac: Add TAR_COMPR_PROGRAM invocations for
        the supported compressors.
 2009-10-09  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor fix.
-
        * src/buffer.c (magic): Fix `xz' entry: add the name of the
        program.
        * src/suffix.c (compression_suffixes, nsuffixes): Mark as static.
 
        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.
        * NEWS: Update
        * doc/tar.texi: Document the changes.
 
-2009-10-07  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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:
-
          --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0
-
        Proposed by Michael D. Adams <mdmkolbe@gmail.com>.
-
        * src/common.h (start_private_header): Take time_t as 3rd param.
        (xheader_write): Likewise.
        * src/create.c (start_private_header): Take time_t as 3rd param.
        Use current time stamp as mtime for global headers.
        (xheader_write): Take time_t as 3rd param.
 
-2009-10-07  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Fix bugs in handling the --remove-files option.
-
-       Make sure the files are deleted only if they were succesfully
+       Make sure the files are deleted only if they were successfully
        stored
        to the archive.
-
        * src/exit.c: New file.
        * src/unlink.c: New file.
        * src/Makefile.am (tar_SOURCES): Add exit.c and unlink.c.
        instead of setting program_name directly.
        * src/tar.c (main): Use set_program_name,
        instead of setting program_name directly.
-
        * tests/Makefile.am (TESTSUITE_AT): Add remfiles01.at
        and remfiles02.at.
        * tests/testsuite.at: Likewise.
 2009-10-04  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix bug in OLDGNU format creation.
-
        See tests/append02.at for a detailed description
-
        * src/common.h (MODE_FROM_HEADER): Take additional argument.
        (mode_from_header): Likewise.
        * src/create.c (mode_to_chars): Store all mode bits if
 2009-09-16  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Restore extra help output.
-
        * src/tar.c (tar_list_quoting_styles): Change first argument to
        struct obstack.
        (format_default_settings): New function.
 2009-09-08  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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)
        (decode_options): Call argp_version_setup.
        Do not use ARGP_NO_HELP flag in the call to argp_parse.
 
-2009-09-08  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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
        exit_status assignments.
        * src/create.c: Likewise.
        * src/misc.c: Likewise.
-
        * src/system.c (wait_for_grandchild): Use auto variable
        instead of the global exit_status.
        * src/incremen.c (scan_directory): Use file_removed_diag
        instead of stat_diag.
 
-2009-09-08  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Automatic detection of seekable archives.
-
        * src/buffer.c (guess_seekable_archive): New function.
        (_open_archive): Call guess_seekable_archive for archives
        open for reading.
        (parse_opt): --seek and --no-seek set seek_option,
        not seekable_archive.
        (decode_options): Initialize seek_option to -1.
-
        * NEWS: Update.
        * doc/tar.texi: Update.
 
 2009-08-27  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Fix testcases.
-
        * tests/extrac08.at: Ensure a predictable umask value.
        * tests/xform-h.at (xform): do not depend on file name
        ordering.
 2009-08-13  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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
 
        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
 2009-08-09  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor fixes.
-
        * src/misc.c (file_removed_diag): Set exit code to
        TAREXIT_DIFFERS.
 
 
        Minor fixes
 
-2009-08-08  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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 <solar at openwall.com>.
-
        The new testcases require paxutils commit f653a2b or later.
-
        * src/common.h (struct name): New member `cmdline'.
        (dump_file): Change type of the 2nd argument to bool.
        (file_removed_diag, dir_removed_diag): New prototypes.
        * src/names.c (name_gather): Set ->cmdname.
        (addname): Likewise. All uses updated.
        (name_from_list): Return struct name const *. All uses updated.
-
        * tests/filerem01.at: New testcase.
        * tests/filerem02.at: New testcase.
        * tests/Makefile.am, tests/testsuite.at: Add filerem01.at,
        filerem02.at
        * tests/grow.at, test/truncate.at: Use new syntax for genfile
        --run.
-
        * NEWS: Update.
        * doc/tar.texi: Minor fix.
 
-2009-08-08  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        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.
        directory_contents.
        (rebase_child_list): Update call to rebase_directory.
        (collect_and_sort_names): Optimize
-
        * src/misc.c (replace_prefix): New function.
        * src/names.c (add_hierarchy_to_namelist): Use new
        get_directory_contents.
-
        * tests/incr05.at: New test case.
        * tests/incr06.at: New test case.
        * tests/Makefile.am, test/testsuite.at: Add incr05.at and
        incr06.at.
-
        * doc/Makefile.am (check-options): Improve rule.
        * doc/tar.texi, NEWS: Update.
 
 2009-08-07  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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  <gray@gnu.org.ua>
-
        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
        on the command line.  It also fixes the operation of
        --listed-incremental -C.
-
        * gnulib.modules: Add canonicalize
        * src/common.h (incremental_level): New global.
        (check_exclusion_tags): first argument is const.
        get_directory_contents.
        * src/create.c (check_exclusion_tags): First argument is const.
        Use ISSLASH and DIRECTORY_SEPARATOR instead of referring to '/'.
-
        * src/incremen.c (struct directory): New member `caname'.
        (hash_directory_name): Rename to
        hash_directory_canonical_name. Operate
        Avoid adding the same directory under different pathnames to
        the list.
        * src/tar.c: New option --level.
-
        * tests/incr03.at, tests/incr04.at, tests/listed01.at,
        tests/listed02.at, tests/rename01.at, tests/rename02.at,
        tests/rename03.at: Update for new tar behavior.
 
        Forgotten to push src/warning.c
 
-2009-08-05  Sergey Poznyakoff  <gray@gnu.org.ua>
-
        Implement the --warning option.
-
        * src/warning.c: New file.
        * src/Makefile.am: Add warning.c
        * src/common.h: Provide definitions for warning classes.
        * src/extract.c: Likewise.
        * src/incremen.c: Likewise.
        * src/list.c: Likewise.
-
        * NEWS, doc/tar.texi: Update.
 
 2009-08-05  Carl Worth <cworth@cworth.org>
 
        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.
 2009-07-30  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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
        <tytso@mit.edu>.
        * 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  <gray@gnu.org.ua>
-
        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.
 2009-06-23  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Minor fix.
-
        * src/extract.c (file_newer_p): Do not report error on ENOENT
 
 2009-06-19  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 2009-06-18  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Ensure default behavior for SIGPIPE
-
        * src/tar.c (main): Install default handler for SIGPIPE.
        Proposed by Bastian Blank.
 
 2009-06-18  Eric Blake <ebb9@byu.net>
 
        Follow autoconf recommendation for TESTSUITEFLAGS.
-
        * tests/Makefile.am (check-local, installcheck-local): Honor
        TESTSUITEFLAGS.
 
 2009-06-18  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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
 2009-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 2009-05-14  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        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.
 2009-05-12  Eric Blake <ebb9@byu.net>
 
        Avoid undefined behavior
-
        * src/xheader.c (xheader_set_keyword_equal): Pass correct type to
        ctype macros.
        * src/transform.c (run_case_conv): Likewise.
 2009-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        Bugfixes.
-
        * bootstrap (symlink_to_dir): Fix symlink calculation.
        * doc/tar.texi: Minor fixes by Victor Villa and Stepan Kasal.
 
index db84a07c3d47ea72df3435aeb9dc21184098f113..5e17374c5cfa685c5bb6fed156ac4c15850cd932 100644 (file)
@@ -3186,7 +3186,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
        Reported by Jeffrey Goldberg.
 
        * rmt.h (_remdev): A filename is not remote if the colon is
-       preceeded by a slash, to take care of `/:/' which is a shorthand
+       preceded by a slash, to take care of `/:/' which is a shorthand
        for `/.../<CELL-NAME>/fs' on OSF's Distributing Computing
        Environment (DCE) and Distributed File System (DFS).
        Reported by Travis L. Priest.
diff --git a/INSTALL b/INSTALL
index 2099840756e6302d837dcd51b5dcd6262f7adb16..dadea5c1ce2e2bd256c8746d99d7e267ccdd3c77 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
+   Copyright (C) 1994-1996, 1999-2002, 2004-2015 Free Software
+Foundation, Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -12,97 +12,96 @@ without warranty of any kind.
 Basic Installation
 ==================
 
-   Briefly, the shell command `./configure && make && make install'
+   Briefly, the shell command './configure && make && make install'
 should configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
+more-detailed instructions are generic; see the 'README' file for
 instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
+'INSTALL' file but do not implement all of the features documented
 below.  The lack of an optional feature in a given package is not
 necessarily a bug.  More recommendations for GNU packages can be found
 in *note Makefile Conventions: (standards)Makefile Conventions.
 
-   The `configure' shell script attempts to guess correct values for
+   The 'configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
+those values to create a 'Makefile' in each directory of the package.
+It may also create one or more '.h' files containing system-dependent
+definitions.  Finally, it creates a shell script 'config.status' that
 you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
+file 'config.log' containing compiler output (useful mainly for
+debugging 'configure').
 
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
+   It can also use an optional file (typically called 'config.cache' and
+enabled with '--cache-file=config.cache' or simply '-C') that saves the
+results of its tests to speed up reconfiguring.  Caching is disabled by
+default to prevent problems with accidental use of stale cache files.
 
    If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
+to figure out how 'configure' could check whether to do them, and mail
+diffs or instructions to the address given in the 'README' so they can
 be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
+some point 'config.cache' contains results you don't want to keep, you
 may remove or edit it.
 
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
+   The file 'configure.ac' (or 'configure.in') is used to create
+'configure' by a program called 'autoconf'.  You need 'configure.ac' if
+you want to change it or regenerate 'configure' using a newer version of
+'autoconf'.
 
    The simplest way to compile this package is:
 
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
+  1. 'cd' to the directory containing the package's source code and type
+     './configure' to configure the package for your system.
 
-     Running `configure' might take a while.  While running, it prints
+     Running 'configure' might take a while.  While running, it prints
      some messages telling which features it is checking for.
 
-  2. Type `make' to compile the package.
+  2. Type 'make' to compile the package.
 
-  3. Optionally, type `make check' to run any self-tests that come with
+  3. Optionally, type 'make check' to run any self-tests that come with
      the package, generally using the just-built uninstalled binaries.
 
-  4. Type `make install' to install the programs and any data files and
+  4. Type 'make install' to install the programs and any data files and
      documentation.  When installing into a prefix owned by root, it is
      recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
+     user, and only the 'make install' phase executed with root
      privileges.
 
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
+  5. Optionally, type 'make installcheck' to repeat any self-tests, but
      this time using the binaries in their final installed location.
      This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
+     regular user, particularly if the prior 'make install' required
      root privileges, verifies that the installation completed
      correctly.
 
   6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
+     source code directory by typing 'make clean'.  To also remove the
+     files that 'configure' created (so you can compile the package for
+     a different kind of computer), type 'make distclean'.  There is
+     also a 'make maintainer-clean' target, but that is intended mainly
      for the package's developers.  If you use it, you may have to get
      all sorts of other programs in order to regenerate files that came
      with the distribution.
 
-  7. Often, you can also type `make uninstall' to remove the installed
+  7. Often, you can also type 'make uninstall' to remove the installed
      files again.  In practice, not all packages have tested that
      uninstallation works correctly, even though it is required by the
      GNU Coding Standards.
 
-  8. Some packages, particularly those that use Automake, provide `make
+  8. Some packages, particularly those that use Automake, provide 'make
      distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
+     targets like 'make install' and 'make uninstall' work correctly.
      This target is generally not run by end users.
 
 Compilers and Options
 =====================
 
    Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
+the 'configure' script does not know about.  Run './configure --help'
 for details on some of the pertinent environment variables.
 
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
+   You can give 'configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here is
+an example:
 
      ./configure CC=c99 CFLAGS=-g LIBS=-lposix
 
@@ -113,21 +112,21 @@ Compiling For Multiple Architectures
 
    You can compile the package for more than one kind of computer at the
 same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
+own directory.  To do this, you can use GNU 'make'.  'cd' to the
 directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
+the 'configure' script.  'configure' automatically checks for the source
+code in the directory that 'configure' is in and in '..'.  This is known
+as a "VPATH" build.
 
-   With a non-GNU `make', it is safer to compile the package for one
+   With a non-GNU 'make', it is safer to compile the package for one
 architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
+installed the package for one architecture, use 'make distclean' before
 reconfiguring for another architecture.
 
    On MacOS X 10.5 and later systems, you 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
+"universal" binaries--by specifying multiple '-arch' options to the
+compiler but only a single '-arch' option to the preprocessor.  Like
 this:
 
      ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
@@ -136,105 +135,104 @@ this:
 
    This is not guaranteed to produce working output in all cases, you
 may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
+using the 'lipo' tool if you have problems.
 
 Installation Names
 ==================
 
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
+   By default, 'make install' installs the package's commands under
+'/usr/local/bin', include files under '/usr/local/include', etc.  You
+can specify an installation prefix other than '/usr/local' by giving
+'configure' the option '--prefix=PREFIX', where PREFIX must be an
 absolute file name.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
 PREFIX as the prefix for installing programs and libraries.
 Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
+options like '--bindir=DIR' to specify different values for particular
+kinds of files.  Run 'configure --help' for a list of the directories
+you can set and what kinds of files go in them.  In general, the default
+for these options is expressed in terms of '${prefix}', so that
+specifying just '--prefix' will affect all of the other directory
 specifications that were not explicitly provided.
 
    The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
+correct locations to 'configure'; however, many packages provide one or
 both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
+'make install' command line to change installation locations without
 having to reconfigure or recompile.
 
    The first method involves providing an override variable for each
-affected directory.  For example, `make install
+affected directory.  For example, 'make install
 prefix=/alternate/directory' will choose an alternate location for all
 directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
+'${prefix}'.  Any directories that were specified during 'configure',
+but not in terms of '${prefix}', must each be overridden at install time
+for the entire installation to be relocated.  The approach of makefile
+variable overrides for each directory variable is required by the GNU
+Coding Standards, and ideally causes no recompilation.  However, some
+platforms have known limitations with the semantics of shared libraries
+that end up requiring recompilation when using this method, particularly
+noticeable in packages that use GNU Libtool.
+
+   The second method involves providing the 'DESTDIR' variable.  For
+example, 'make install DESTDIR=/alternate/directory' will prepend
+'/alternate/directory' before all installation names.  The approach of
+'DESTDIR' overrides is not required by the GNU Coding Standards, and
 does not work on platforms that have drive letters.  On the other hand,
 it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
+when some directory options were not specified in terms of '${prefix}'
+at 'configure' time.
 
 Optional Features
 =================
 
    If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
+with an extra prefix or suffix on their names by giving 'configure' the
+option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
+
+   Some packages pay attention to '--enable-FEATURE' options to
+'configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to '--with-PACKAGE' options, where PACKAGE
+is something like 'gnu-as' or 'x' (for the X Window System).  The
+'README' should mention any '--enable-' and '--with-' options that the
 package recognizes.
 
-   For packages that use the X Window System, `configure' can usually
+   For packages that use the X Window System, 'configure' can usually
 find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
+you can use the 'configure' options '--x-includes=DIR' and
+'--x-libraries=DIR' to specify their locations.
 
    Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
+execution of 'make' will be.  For these packages, running './configure
 --enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
+overridden with 'make V=1'; while running './configure
 --disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
+overridden with 'make V=0'.
 
 Particular systems
 ==================
 
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU CC
+is not installed, it is recommended to use the following options in
 order to use an ANSI C compiler:
 
      ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
+   HP-UX 'make' updates targets which have the same time stamps as their
+prerequisites, which makes it generally unusable when shipped generated
+files such as 'configure' are involved.  Use GNU 'make' instead.
 
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
+parse its '<wchar.h>' header file.  The option '-nodtk' can be used as a
+workaround.  If GNU CC is not installed, it is therefore recommended to
+try
 
      ./configure CC="cc"
 
@@ -242,26 +240,26 @@ and if that doesn't work, try
 
      ./configure CC="cc -nodtk"
 
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
+   On Solaris, don't put '/usr/ucb' early in your 'PATH'.  This
 directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
+these programs are available in '/usr/bin'.  So, if you need '/usr/ucb'
+in your 'PATH', put it _after_ '/usr/bin'.
 
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
+   On Haiku, software installed for all users goes in '/boot/common',
+not '/usr/local'.  It is recommended to use the following options:
 
      ./configure --prefix=/boot/common
 
 Specifying the System Type
 ==========================
 
-   There may be some features `configure' cannot figure out
+   There may be some features 'configure' cannot figure out
 automatically, but needs to determine by the type of machine the package
 will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
+_same_ architectures, 'configure' can figure that out, but if it prints
 a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
+'--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as 'sun4', or a canonical name which has the form:
 
      CPU-COMPANY-SYSTEM
 
@@ -270,101 +268,101 @@ where SYSTEM can have one of these forms:
      OS
      KERNEL-OS
 
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
+   See the file 'config.sub' for the possible values of each field.  If
+'config.sub' isn't included in this package, then this package doesn't
 need to know the machine type.
 
    If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
+use the option '--target=TYPE' to select the type of system they will
 produce code for.
 
    If you want to _use_ a cross compiler, that generates code for a
 platform different from the build platform, you should specify the
 "host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
+eventually be run) with '--host=TYPE'.
 
 Sharing Defaults
 ================
 
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
+   If you want to set default values for 'configure' scripts to share,
+you can create a site shell script called 'config.site' that gives
+default values for variables like 'CC', 'cache_file', and 'prefix'.
+'configure' looks for 'PREFIX/share/config.site' if it exists, then
+'PREFIX/etc/config.site' if it exists.  Or, you can set the
+'CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all 'configure' scripts look for a site script.
 
 Defining Variables
 ==================
 
    Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
+environment passed to 'configure'.  However, some packages may run
 configure again during the build, and the customized values of these
 variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
+them in the 'configure' command line, using 'VAR=value'.  For example:
 
      ./configure CC=/usr/local2/bin/gcc
 
-causes the specified `gcc' to be used as the C compiler (unless it is
+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 limitation.  Until the limitation is lifted, you can use
-this workaround:
+Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
+Autoconf limitation.  Until the limitation is lifted, you can use this
+workaround:
 
      CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
-`configure' Invocation
+'configure' Invocation
 ======================
 
-   `configure' recognizes the following options to control how it
+   'configure' recognizes the following options to control how it
 operates.
 
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
+'--help'
+'-h'
+     Print a summary of all of the options to 'configure', and exit.
 
-`--help=short'
-`--help=recursive'
+'--help=short'
+'--help=recursive'
      Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
+     'configure', and exit.  The 'short' variant lists options used only
+     in the top level, while the 'recursive' variant lists options also
+     present in any nested packages.
 
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
+'--version'
+'-V'
+     Print the version of Autoconf used to generate the 'configure'
      script, and exit.
 
-`--cache-file=FILE'
+'--cache-file=FILE'
      Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     traditionally 'config.cache'.  FILE defaults to '/dev/null' to
      disable caching.
 
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
+'--config-cache'
+'-C'
+     Alias for '--cache-file=config.cache'.
 
-`--quiet'
-`--silent'
-`-q'
+'--quiet'
+'--silent'
+'-q'
      Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
+     suppress all normal output, redirect it to '/dev/null' (any error
      messages will still be shown).
 
-`--srcdir=DIR'
+'--srcdir=DIR'
      Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
+     'configure' can determine that directory automatically.
 
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
+'--prefix=DIR'
+     Use DIR as the installation prefix.  *note Installation Names:: for
+     more details, including other options available for fine-tuning the
+     installation locations.
 
-`--no-create'
-`-n'
+'--no-create'
+'-n'
      Run the configure checks, but stop before creating any output
      files.
 
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
+'configure' also accepts some other, not widely useful, options.  Run
+'configure --help' for more details.
index 09ad1c1c3a120922b20131e288cb39fbef05138d..a454459f89a27222ea272460c5a8eeddc1358943 100644 (file)
@@ -1,26 +1,6 @@
 # This file is part of GNU paxutils
 #
-# Copyright (c) 2009 Free Software Foundation, Inc.
-#
-# Written by Sergey Poznyakoff
-#
-# GNU Paxutils is free software; you can redistribute 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 Paxutils is distributed in the hope that it will be useful, but
-# without any warranty; without even the implied warranty of
-# merchantability or fitness for a particular 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 Paxutils; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# This file is part of GNU paxutils
-#
-# Copyright (c) 2009 Free Software Foundation, Inc.
+# Copyright (c) 2009, 2014 Free Software Foundation, Inc.
 #
 # Written by Sergey Poznyakoff
 #
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 # Define the following variables in order to use the ChangeLog rule below:
-#  prev_change_log  [optional]  Name of the previous ChangeLog file.
-#  gen_start_date   [optional]  Start ChangeLog from this date. 
-#  changelog_dir    [mandatory] Directory where to create ChangeLog
+#  prev_change_log      [optional]  Name of the previous ChangeLog file.
+#  gen_start_date       [optional]  Start ChangeLog from this date. 
+#  changelog_dir        [mandatory] Directory where to create ChangeLog
+#  changelog_amend_file [optional]  Amendment file
 
 .PHONY: ChangeLog
 ChangeLog: 
@@ -50,6 +31,9 @@ ChangeLog:
          if test -n "$(gen_start_date)"; then                             \
            cmd="$$cmd --since=\"$(gen_start_date)\"";                     \
          fi;                                                              \
+         if test -n "$(changelog_amend_file)"; then                       \
+           cmd="$$cmd --amend=$(changelog_amend_file)";                   \
+         fi;                                                              \
          $$cmd --format='%s%n%n%b%n' |                                    \
             sed '/<unknown>$$/d' | fmt -s > $(changelog_dir)/cl-t;         \
           if test -n "$(prev_change_log)" && test -f "$(prev_change_log)"; \
index 96505c00094f41d6238bc5f54c75023a2800d98d..cc127324004f39e4e9abc9302df653aae4f10186 100644 (file)
@@ -1,6 +1,6 @@
 # Main Makefile for GNU tar.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014 Free
+# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014, 2016 Free
 # Software Foundation, Inc.
 
 # This file is part of GNU tar.
@@ -26,7 +26,7 @@ dist-hook:
        $(MAKE) changelog_dir=$(distdir) ChangeLog
        -rm -f $(distdir).cpio
        find $(distdir) | cpio -Hcrc -o | \
-          GZIP=$(GZIP_ENV) gzip -c > $(distdir).cpio.gz
+          eval GZIP= gzip $(GZIP_ENV) -c > $(distdir).cpio.gz
 
 distclean-local:
        -rm -f $(distdir).cpio.gz
index f9f1d1d19440d000a4ab5a2ba58ac35a31c6aa8d..3c269abffe80fbecb679b3477f147cf17addf774 100644 (file)
@@ -16,7 +16,7 @@
 
 # Main Makefile for GNU tar.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014 Free
+# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014, 2016 Free
 # Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
 # This file is part of GNU paxutils
 #
-# Copyright (c) 2009 Free Software Foundation, Inc.
-#
-# Written by Sergey Poznyakoff
-#
-# GNU Paxutils is free software; you can redistribute 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 Paxutils is distributed in the hope that it will be useful, but
-# without any warranty; without even the implied warranty of
-# merchantability or fitness for a particular 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 Paxutils; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# This file is part of GNU paxutils
-#
-# Copyright (c) 2009 Free Software Foundation, Inc.
+# Copyright (c) 2009, 2014 Free Software Foundation, Inc.
 #
 # Written by Sergey Poznyakoff
 #
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 # Define the following variables in order to use the ChangeLog rule below:
-#  prev_change_log  [optional]  Name of the previous ChangeLog file.
-#  gen_start_date   [optional]  Start ChangeLog from this date. 
-#  changelog_dir    [mandatory] Directory where to create ChangeLog
+#  prev_change_log      [optional]  Name of the previous ChangeLog file.
+#  gen_start_date       [optional]  Start ChangeLog from this date. 
+#  changelog_dir        [mandatory] Directory where to create ChangeLog
+#  changelog_amend_file [optional]  Amendment file
 VPATH = @srcdir@
 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 am__make_running_with_option = \
@@ -180,10 +161,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.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 \
@@ -198,10 +180,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
-       $(top_srcdir)/m4/langinfo_h.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/iswblank.m4 $(top_srcdir)/m4/langinfo_h.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 \
@@ -223,14 +205,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/posix_openpt.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.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/ptsname.m4 \
-       $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.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 \
@@ -266,24 +247,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \
        $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \
        $(top_srcdir)/m4/unistd_h.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/unlockpt.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 \
-       $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \
-       $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \
-       $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
+       $(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 $(top_srcdir)/m4/write.m4 \
+       $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
+       $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
+       $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -589,6 +570,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
 GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
@@ -648,6 +630,7 @@ 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_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
@@ -800,6 +783,7 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -886,6 +870,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_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -959,6 +944,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
 LIB_ACL = @LIB_ACL@
 LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
 LIB_EACCESS = @LIB_EACCESS@
+LIB_HAS_ACL = @LIB_HAS_ACL@
 LIB_SELINUX = @LIB_SELINUX@
 LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1124,10 +1110,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
 REPLACE_RAISE = @REPLACE_RAISE@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
@@ -1160,6 +1148,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
@@ -1202,6 +1191,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 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@
@@ -1766,7 +1756,7 @@ dist-hook:
        $(MAKE) changelog_dir=$(distdir) ChangeLog
        -rm -f $(distdir).cpio
        find $(distdir) | cpio -Hcrc -o | \
-          GZIP=$(GZIP_ENV) gzip -c > $(distdir).cpio.gz
+          eval GZIP= gzip $(GZIP_ENV) -c > $(distdir).cpio.gz
 
 distclean-local:
        -rm -f $(distdir).cpio.gz
@@ -1778,6 +1768,9 @@ ChangeLog:
          if test -n "$(gen_start_date)"; then                             \
            cmd="$$cmd --since=\"$(gen_start_date)\"";                     \
          fi;                                                              \
+         if test -n "$(changelog_amend_file)"; then                       \
+           cmd="$$cmd --amend=$(changelog_amend_file)";                   \
+         fi;                                                              \
          $$cmd --format='%s%n%n%b%n' |                                    \
             sed '/<unknown>$$/d' | fmt -s > $(changelog_dir)/cl-t;         \
           if test -n "$(prev_change_log)" && test -f "$(prev_change_log)"; \
diff --git a/NEWS b/NEWS
index 32bc881da09040acd8d9eacca246204bfa03c4dd..501164abd0ef306b113cc2ce9ab5253365093fc2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,88 @@
-GNU tar NEWS - User visible changes. 2014-07-27
+GNU tar NEWS - User visible changes. 2016-05-16
 Please send GNU tar bug reports to <bug-tar@gnu.org>
 
+\f
+version 1.29 - Sergey Poznyakoff, 2016-05-16
+
+* New options: --verbatim-files-from, --no-verbatim-files-from
+
+The --verbatim-files-from option instructs tar to treat each line read
+from a file list as a file name, even if it starts with a dash.
+
+File lists are supplied with the --files-from (-T) option.  By
+default, each line read from a file list is first stripped off the
+leading and trailing whitespace and, if the result begins with a dash,
+it is treated as tar command line option.
+
+Use the --verbatim-files-from option to disable this special handling.
+This facilitates the use of tar with file lists created automatically
+(e.g. by find(1) command).
+
+This option affects all --files-from options that occur after it in
+the command line.  Its effect is reverted by the
+--no-verbatim-files-from option.
+
+* --null option reads file names verbatim
+
+The --null option implies --verbatim-files-from.  I.e. each line 
+read from null-delimited file lists is treated as a file name.
+
+This restores the documented behavior, which was broken in version
+1.27.
+
+* New options: --owner-map=FILE and --group-map=FILE
+
+These two options provide fine-grained control over what user/group
+names (or IDs) should be mapped when adding files to archive.
+
+For both options, FILE is a plain text file with user or group
+mappings.  Empty lines are ignored.  Comments are introduced with
+# sign (unless quoted) and extend to the end of the corresponding
+line.  Each non-empty line defines translation for a single UID (GID).
+It must consist of two fields, delimited by any amount of whitespace:
+
+     OLDNAME NEWNAME[:NEWID]
+
+OLDNAME is either a valid user (group) name or a ID prefixed with +.  Unless
+NEWID is supplied, NEWNAME must also be either a valid name or a
++ID.  Otherwise, both NEWNAME and NEWID need not be listed in the
+system user database.
+
+* New option --clamp-mtime
+
+The new --clamp-mtime option changes the behavior of --mtime to only
+use the time specified if the file mtime is newer than the given time.
+The --clamp-mtime option can only be used together with        --mtime.
+
+Typical use case is to make builds reproducible: to loose less
+information, it's better to keep the original date of an archive, 
+except for files modified during the build process. In that case, using
+reference (and thus reproducible) timestamps for the latter is good
+enough.
+
+See <https://wiki.debian.org/ReproducibleBuilds> for more information.
+
+* Deprecated --preserve option removed
+
+* Sparse file detection
+
+Tar now uses SEEK_DATA/SEEK_HOLE on systems that support it.  This
+allows for considerable speed-up in sparse-file detection.
+
+New option --hole-detection is provided, that allows the user to
+select the algorithm used for hole detection.  Available arguments
+are:
+
+  --hole-detection=seek
+     Use lseek(2) SEEK_DATA and SEEK_HOLE "whence" parameters.
+
+  --hole-detection=raw
+     Scan entire file before storing it to determine where holes
+     are located.
+
+The default is to use "seek" whenever possible, and fall back to
+"raw" otherwise.
+
 \f
 version 1.28, 2014-07-28
 
@@ -369,7 +451,7 @@ Modification times in ustar header blocks of extended headers
 are set to mtimes of the corresponding archive members.  This
 can be overridden by the
 
-  --pax-opion='exthdr.mtime=STRING'
+  --pax-option='exthdr.mtime=STRING'
 
 command line option.  The STRING is either number of seconds since
 the Epoch or a "Time reference" (see below).
@@ -379,7 +461,7 @@ headers are set to the time when tar was invoked.
 
 This can be overridden by the
 
-  --pax-opion='globexthdr.mtime=STRING'
+  --pax-option='globexthdr.mtime=STRING'
 
 command line option.  The STRING is either number of seconds since
 the Epoch or a "Time reference" (see below).
@@ -1505,7 +1587,7 @@ Versions 1.07 back to 1.00 by Jay Fenlason.
 
 \f
 
-Copyright 1994-2001, 2003-2010, 2013-2014 Free Software Foundation, Inc.
+Copyright 1994-2001, 2003-2010, 2013-2016 Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
diff --git a/README b/README
index b3895b0d525ca4db7604e90285b3179fbde378cf..c39b5f2b66a2f13a9264422f7708437e7fccf120 100644 (file)
--- a/README
+++ b/README
@@ -23,7 +23,6 @@ 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.
 
@@ -222,8 +221,8 @@ and share your findings by writing to <bug-tar@gnu.org>.
 \f
 * Copying
 
-Copyright 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2014 Free
-Software Foundation, Inc.
+Copyright 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2014, 2016
+Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
diff --git a/THANKS b/THANKS
index b4c54277774e49036405ae204028d9b5349151e8..f1def93dd2f86c4eb72caf9d2a049396f341e259 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -78,6 +78,7 @@ Cesar Romani          romani@ifm.uni-hamburg.de
 Chad Hurwitz           churritz@cts.com
 Chance Reschke         creschke@usra.edu
 Charles Fu             ccwf@klab.caltech.edu
+Charles McGarvey        chazmcgarvey@brokenzipper.com
 Charles Lopes          Charles.Lopes@infm.ulst.ac.uk
 Charles M. Hannum      mycroft@gnu.org
 Chip Salzenberg                tct!chip
@@ -107,6 +108,7 @@ Conrad Hughes               chughes@maths.tcd.ie
 Constantin Belous      const@cris.net
 Coranth Gryphon                gryphon@bur.visidyne.com
 Cyril Strejc           strejc@unicontrols.cz
+Dagobert Michelsen     dam@opencsw.org
 Dale R. Worley         worley@world.std.com
 Dale Wiles             wiles@geordi.calspan.com
 Dan Bloch              dan@transarc.com
@@ -114,6 +116,7 @@ Dan Drake               dan@dandrake.org
 Dan Reish              dreish@izzy.net
 Daniel Hagerty         hag@gnu.org
 Daniel Quinlan         quinlan@pathname.com
+Daniel Kahn Gillmor    dkg@fifthhorseman.net
 Daniel R. Guilderson   d.guilderson@ma30.bull.com
 Daniel S. Barclay      daniel@compass-da.com
 Daniel Trinkle         trinkle@cs.purdue.edu
@@ -140,6 +143,7 @@ Demizu Noritoshi    nori-d@is.aist-nara.ac.jp
 Denis Excoffier         denis.excoffier@free.fr
 Denis Fortin           fortin@acm.org
 Dennis Pixton          dennis@math.binghamton.edu
+Derek Terveer           dt@hawkmoon.mn.org
 Dick Streefland                dicks@tasking.nl
 Dietmar Braun          dietmar@highway.bertelsmann.de
 Dimitri Bougoulias     opus@hol.gr
@@ -172,6 +176,7 @@ Erik D. Frederick   edf@deckard.mc.duke.edu
 Esa Karell             karell@cs.helsinki.fi
 Ezra Peisach           epeisach@mit.edu
 Fabio d'Alessi         cars@civ.bio.unipd.it
+Flavio Poletti          polettix@gmail.com
 Frank Heckenbach       frank@g-n-u.de
 Frank Koenen           koenfr@lidp.com
 Franz-Werner Gergen    gergen@edvulx.mpi-stuttgart.mpg.de
@@ -202,6 +207,7 @@ Helmut Waitzmann    Helmut.Waitzmann@web.de
 Henrik Bakman          hb@csd.uu.se
 Hernan Prieto Schmidt  hernan@pea.usp.br
 Hiroyuki Bessho                bsh@grotto.iijnet.or.jp
+Holger Levsen          holger@layer-acht.org
 Holger Teutsch         holger@hotbso.rhein-main.de
 Hugh Secker-Walker     hugh@ear.mit.edu
 Hunyue Yau             hunyue.yau@picksys.com
@@ -240,6 +246,7 @@ Jeffrey Goldberg    J.Goldberg@cranfield.ac.uk
 Jeffrey Mark Siskind   Qobi@emba.uvm.edu
 Jeffrey W. Parker      jwpkr@mcs.com
 Jens Henrik Jensen     recjhl@mediator.uni-c.dk
+Jérémy Bobbio                lunar@debian.org
 Jim Blandy             jimb@totoro.cs.oberlin.edu
 Jim Clausing           jac@postbox.acs.ohio-state.edu
 Jim Farrell            jwf@platinum.com
diff --git a/TODO b/TODO
index c56d3359553e6c9819431c36a624169416a922ca..ae12488d4152f610cc35f967025be78b54994f2b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -45,7 +45,8 @@ Suggestions for improving GNU tar.
 \f
 * Copyright notice
 
-Copyright 2003-2004, 2007, 2013-2014 Free Software Foundation, Inc.
+Copyright 2003-2004, 2007, 2013-2014, 2016 Free Software Foundation,
+Inc.
 
 This file is part of GNU tar.
 
index 3b28b3bd63ddacd9cab238882a81dad73a26d78e..ca902858004fe8c0659260ce9c6838e8ab37631f 100644 (file)
@@ -1,6 +1,6 @@
 dnl Special Autoconf macros for GNU tar         -*- autoconf -*-
 
-dnl Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+dnl Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 dnl
 dnl This file is part of GNU tar.
 dnl
@@ -40,37 +40,23 @@ AC_DEFUN([TAR_HEADERS_ATTR_XATTR_H],
   # First check for <sys/xattr.h>
   AC_CHECK_HEADERS([sys/xattr.h])
   AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_sys_xattr_h" = yes])
-  AM_CONDITIONAL([TAR_LIB_ATTR],[false])
-  if test "$ac_cv_header_sys_xattr_h" = yes; then
-    AC_CHECK_FUNCS(getxattr  fgetxattr  lgetxattr \
-                   setxattr  fsetxattr  lsetxattr \
-                   listxattr flistxattr llistxattr,
-        # only when functions are present
-        AC_DEFINE([HAVE_SYS_XATTR_H], [1],
-                    [define to 1 if we have <sys/xattr.h> header])
-        if test "$with_xattrs" != no; then
-          AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
-        fi
-    )
-  fi
-
-  # If <sys/xattr.h> is not found, then check for <attr/xattr.h>
   if test "$ac_cv_header_sys_xattr_h" != yes; then
     AC_CHECK_HEADERS([attr/xattr.h])
     AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes])
-    AC_CHECK_LIB([attr],[fgetxattr])
-    AM_CONDITIONAL([TAR_LIB_ATTR],[test "$ac_cv_lib_attr_fgetxattr" = 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 <attr/xattr.h> header])
-          if test "$with_xattrs" != no; then
-            AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
-          fi
-      )
+  fi
+
+  if test "$with_xattrs" != no; then
+    for i in getxattr  fgetxattr  lgetxattr \
+             setxattr  fsetxattr  lsetxattr \
+             listxattr flistxattr llistxattr
+    do
+      AC_SEARCH_LIBS($i, attr)
+      eval found=\$ac_cv_search_$i
+      test "$found" = "no" && break
+    done
+
+    if test "$found" != no; then
+      AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
     fi
   fi
 ])
index 0e0958944725a601df52db022abf224388122b42..9e7ebb4aa66d8899081cf8131191668b7bc25433 100644 (file)
@@ -1191,6 +1191,7 @@ m4_include([m4/fcntl_h.m4])
 m4_include([m4/fdopendir.m4])
 m4_include([m4/fileblocks.m4])
 m4_include([m4/filenamecat.m4])
+m4_include([m4/flexmember.m4])
 m4_include([m4/float_h.m4])
 m4_include([m4/fnmatch.m4])
 m4_include([m4/fpending.m4])
@@ -1224,7 +1225,6 @@ m4_include([m4/inttostr.m4])
 m4_include([m4/inttypes-pri.m4])
 m4_include([m4/inttypes.m4])
 m4_include([m4/inttypes_h.m4])
-m4_include([m4/isatty.m4])
 m4_include([m4/iswblank.m4])
 m4_include([m4/langinfo_h.m4])
 m4_include([m4/largefile.m4])
@@ -1274,6 +1274,7 @@ m4_include([m4/multiarch.m4])
 m4_include([m4/nl_langinfo.m4])
 m4_include([m4/nls.m4])
 m4_include([m4/nocrash.m4])
+m4_include([m4/obstack.m4])
 m4_include([m4/off_t.m4])
 m4_include([m4/open.m4])
 m4_include([m4/openat.m4])
@@ -1282,12 +1283,9 @@ m4_include([m4/parse-datetime.m4])
 m4_include([m4/pathmax.m4])
 m4_include([m4/paxutils.m4])
 m4_include([m4/po.m4])
-m4_include([m4/posix_openpt.m4])
 m4_include([m4/printf.m4])
 m4_include([m4/priv-set.m4])
 m4_include([m4/progtest.m4])
-m4_include([m4/ptsname.m4])
-m4_include([m4/ptsname_r.m4])
 m4_include([m4/quote.m4])
 m4_include([m4/quotearg.m4])
 m4_include([m4/raise.m4])
@@ -1355,16 +1353,17 @@ m4_include([m4/system.m4])
 m4_include([m4/tempname.m4])
 m4_include([m4/time_h.m4])
 m4_include([m4/time_r.m4])
+m4_include([m4/time_rz.m4])
+m4_include([m4/timegm.m4])
 m4_include([m4/timespec.m4])
 m4_include([m4/tm_gmtoff.m4])
-m4_include([m4/ttyname_r.m4])
+m4_include([m4/ulonglong.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/unlockpt.m4])
 m4_include([m4/utimbuf.m4])
 m4_include([m4/utimens.m4])
 m4_include([m4/utimensat.m4])
index 1f5c50c0d1529d50b94dc3533ca72a47f0fa5849..16592509d49e52301080275c3647a66349c33795 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-03-23'
+timestamp='2015-08-20'
 
 # 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
@@ -24,12 +24,12 @@ timestamp='2014-03-23'
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # 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.
+# Please send patches to <config-patches@gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 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."
@@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # Note: NetBSD doesn't particularly care about the vendor
        # portion of the name.  We always set it to "unknown".
        sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+       UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+           /sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || \
+           echo unknown)`
        case "${UNAME_MACHINE_ARCH}" in
            armeb) machine=armeb-unknown ;;
            arm*) machine=arm-unknown ;;
            sh3el) machine=shl-unknown ;;
            sh3eb) machine=sh-unknown ;;
            sh5el) machine=sh5le-unknown ;;
+           earmv*)
+               arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+               endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+               machine=${arch}${endian}-unknown
+               ;;
            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
        esac
        # The Operating System including object format, if it has switched
        # to ELF recently, or will in the future.
        case "${UNAME_MACHINE_ARCH}" in
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+           arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
                        | grep -q __ELF__
@@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                os=netbsd
                ;;
        esac
+       # Determine ABI tags.
+       case "${UNAME_MACHINE_ARCH}" in
+           earm*)
+               expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+               abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+               ;;
+       esac
        # The OS release
        # Debian GNU/NetBSD machines have a different userland, and
        # thus, need a distinct triplet. However, they do not need
@@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                release='-gnu'
                ;;
            *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
                ;;
        esac
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
+       echo "${machine}-${os}${release}${abi}"
        exit ;;
     *:Bitrig:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -235,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:MirBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
        exit ;;
+    *:Sortix:*:*)
+       echo ${UNAME_MACHINE}-unknown-sortix
+       exit ;;
     alpha:OSF1:*:*)
        case $UNAME_RELEASE in
        *4.0)
@@ -579,8 +596,9 @@ EOF
        else
                IBM_ARCH=powerpc
        fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
+       if [ -x /usr/bin/lslpp ] ; then
+               IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+                          awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
        else
                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
        fi
@@ -932,6 +950,9 @@ EOF
     crisv32:Linux:*:*)
        echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
+    e2k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     frv:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
@@ -1020,7 +1041,7 @@ EOF
        echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
index ab6fd995f3893ac91baf30e3b0ca7eb78237573e..a3e25c844d15f579f0456df434c7f698487c86f7 100755 (executable)
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2014 Free Software Foundation, Inc.
+#   Copyright 1996-2015 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -367,11 +367,7 @@ else
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
-    freebsd2.2*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    freebsd2*)
+    freebsd2.[01]*)
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
@@ -548,13 +544,11 @@ case "$host_os" in
   dgux*)
     library_names_spec='$libname$shrext'
     ;;
+  freebsd[23].*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
   freebsd* | dragonfly*)
-    case "$host_os" in
-      freebsd[123]*)
-        library_names_spec='$libname$shrext$versuffix' ;;
-      *)
-        library_names_spec='$libname$shrext' ;;
-    esac
+    library_names_spec='$libname$shrext'
     ;;
   gnu*)
     library_names_spec='$libname$shrext'
index 5d7d62fb6fc5b12bb52ba2c618b586a9c360cda5..1acc966a33bf509f7c50f87d7678fbb813089ca6 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-03-23'
+timestamp='2015-08-20'
 
 # 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
@@ -25,7 +25,7 @@ timestamp='2014-03-23'
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 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."
@@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
@@ -255,12 +255,13 @@ case $basic_machine in
        | arc | arceb \
        | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
        | avr | avr32 \
+       | ba \
        | be32 | be64 \
        | bfin \
        | c4x | c8051 | clipper \
        | d10v | d30v | dlx | dsp16xx \
-       | epiphany \
-       | fido | fr30 | frv \
+       | e2k | epiphany \
+       | fido | fr30 | frv | ft32 \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | hexagon \
        | i370 | i860 | i960 | ia64 \
@@ -283,8 +284,10 @@ case $basic_machine in
        | mips64vr5900 | mips64vr5900el \
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa32r6 | mipsisa32r6el \
        | mipsisa64 | mipsisa64el \
        | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64r6 | mipsisa64r6el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipsr5900 | mipsr5900el \
@@ -300,9 +303,10 @@ case $basic_machine in
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
+       | riscv32 | riscv64 \
        | 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 \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -310,6 +314,7 @@ case $basic_machine in
        | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
        | ubicom32 \
        | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+       | visium \
        | we32k \
        | x86 | xc16x | xstormy16 | xtensa \
        | z8k | z80)
@@ -324,6 +329,9 @@ case $basic_machine in
        c6x)
                basic_machine=tic6x-unknown
                ;;
+       leon|leon[3-9])
+               basic_machine=sparc-$basic_machine
+               ;;
        m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
                basic_machine=$basic_machine-unknown
                os=-none
@@ -369,12 +377,13 @@ case $basic_machine in
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
+       | ba-* \
        | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | c8051-* | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
+       | e2k-* | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -401,8 +410,10 @@ case $basic_machine in
        | mips64vr5900-* | mips64vr5900el-* \
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa32r6-* | mipsisa32r6el-* \
        | mipsisa64-* | mipsisa64el-* \
        | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64r6-* | mipsisa64r6el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipsr5900-* | mipsr5900el-* \
@@ -419,12 +430,13 @@ case $basic_machine in
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
+       | riscv32-* | riscv64-* \
        | 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-* | sv1-* | sx?-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
        | tahoe-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tile*-* \
@@ -432,6 +444,7 @@ case $basic_machine in
        | ubicom32-* \
        | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
        | vax-* \
+       | visium-* \
        | we32k-* \
        | x86-* | x86_64-* | xc16x-* | xps100-* \
        | xstormy16-* | xtensa*-* \
@@ -508,6 +521,9 @@ case $basic_machine in
                basic_machine=i386-pc
                os=-aros
                ;;
+        asmjs)
+               basic_machine=asmjs-unknown
+               ;;
        aux)
                basic_machine=m68k-apple
                os=-aux
@@ -769,6 +785,9 @@ case $basic_machine in
                basic_machine=m68k-isi
                os=-sysv
                ;;
+       leon-*|leon[3-9]-*)
+               basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+               ;;
        m68knommu)
                basic_machine=m68k-unknown
                os=-linux
@@ -824,6 +843,10 @@ case $basic_machine in
                basic_machine=powerpc-unknown
                os=-morphos
                ;;
+       moxiebox)
+               basic_machine=moxie-unknown
+               os=-moxiebox
+               ;;
        msdos)
                basic_machine=i386-pc
                os=-msdos
@@ -1356,7 +1379,7 @@ case $os in
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
              | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* \
+             | -aos* | -aros* | -cloudabi* | -sortix* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1369,14 +1392,14 @@ case $os in
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
              | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
              | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
index 31788017b8f041f1d63dfb80ace66a4aa6b1c1d6..fda2463f383d20627d7fc33888fc95ac1f8d7f76 100755 (executable)
@@ -3,7 +3,7 @@
 
 scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index 78afff4e8e0bb6f88022973c028b45a1ba72d691..0cab1bf17cdb93f4351a5a41219ff24af157047b 100755 (executable)
@@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
     if 0;
 # Convert git log output to ChangeLog format.
 
-my $VERSION = '2012-07-29 06:11'; # UTC
+my $VERSION = '2015-06-11 01:03'; # 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-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -72,6 +72,9 @@ OPTIONS:
                   directory can be derived.
    --since=DATE convert only the logs since DATE;
                   the default is to convert all log entries.
+   --until=DATE convert only the logs older than DATE.
+   --ignore-matching=PAT ignore commit messages whose first lines match PAT.
+   --ignore-line=PAT ignore lines of commit messages that match PAT.
    --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'
@@ -220,10 +223,13 @@ sub git_dir_option($)
 
 {
   my $since_date;
+  my $until_date;
   my $format_string = '%s%n%b%n';
   my $amend_file;
   my $append_dot = 0;
   my $cluster = 1;
+  my $ignore_matching;
+  my $ignore_line;
   my $strip_tab = 0;
   my $strip_cherry_pick = 0;
   my $srcdir;
@@ -232,10 +238,13 @@ sub git_dir_option($)
      help => sub { usage 0 },
      version => sub { print "$ME version $VERSION\n"; exit },
      'since=s' => \$since_date,
+     'until=s' => \$until_date,
      'format=s' => \$format_string,
      'amend=s' => \$amend_file,
      'append-dot' => \$append_dot,
      'cluster!' => \$cluster,
+     'ignore-matching=s' => \$ignore_matching,
+     'ignore-line=s' => \$ignore_line,
      'strip-tab' => \$strip_tab,
      'strip-cherry-pick' => \$strip_cherry_pick,
      'srcdir=s' => \$srcdir,
@@ -243,6 +252,8 @@ sub git_dir_option($)
 
   defined $since_date
     and unshift @ARGV, "--since=$since_date";
+  defined $until_date
+    and unshift @ARGV, "--until=$until_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.
@@ -259,6 +270,7 @@ sub git_dir_option($)
   my $prev_multi_paragraph;
   my $prev_date_line = '';
   my @prev_coauthors = ();
+  my @skipshas = ();
   while (1)
     {
       defined (my $in = <PIPE>)
@@ -279,6 +291,21 @@ sub git_dir_option($)
       $sha =~ /^[0-9a-fA-F]{40}$/
         or die "$ME:$.: invalid SHA1: $sha\n";
 
+      my $skipflag = 0;
+      if (@skipshas)
+        {
+          foreach(@skipshas)
+            {
+              if ($sha =~ /^$_/)
+                {
+                  $skipflag = 1;
+                  ## Perhaps only warn if a pattern matches more than once?
+                  warn "$ME: warning: skipping $sha due to $_\n";
+                  last;
+                }
+            }
+        }
+
       # If this commit's log requires any transformation, do it now.
       my $code = $amend_code->{$sha};
       if (defined $code)
@@ -306,7 +333,7 @@ sub git_dir_option($)
           $rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
         }
 
-      my @line = split "\n", $rest;
+      my @line = split /\s*\n/, $rest;
       my $author_line = shift @line;
       defined $author_line
         or die "$ME:$.: unexpected EOF\n";
@@ -316,17 +343,18 @@ sub git_dir_option($)
 
       # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
       # `(tiny change)' annotation.
-      my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
+      my $tiny = (grep (/^(?:Copyright-paperwork-exempt|Tiny-change):\s+[Yy]es$/, @line)
                   ? '  (tiny change)' : '');
 
       my $date_line = sprintf "%s  %s$tiny\n",
-        strftime ("%F", localtime ($1)), $2;
+        strftime ("%Y-%m-%d", 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:[ ]
+                       |Tiny-change:[ ]
                        )/x, @line;
 
       # Remove leading and trailing blank lines.
@@ -336,68 +364,100 @@ sub git_dir_option($)
           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 <email@example.com>' lines in
-      # standard multi-author ChangeLog format.
-      for (@coauthors)
+      # Handle Emacs gitmerge.el "skipped" commits.
+      # Yes, this should be controlled by an option.  So sue me.
+      if ( grep /^(; )?Merge from /, @line )
+      {
+          my $found = 0;
+          foreach (@line)
+          {
+              if (grep /^The following commit.*skipped:$/, $_)
+              {
+                  $found = 1;
+                  ## Reset at each merge to reduce chance of false matches.
+                  @skipshas = ();
+                  next;
+              }
+              if ($found && $_ =~ /^([0-9a-fA-F]{7,}) [^ ]/)
+              {
+                  push ( @skipshas, $1 );
+              }
+          }
+      }
+
+      # Ignore commits that match the --ignore-matching pattern, if specified.
+      if (! ($skipflag || (defined $ignore_matching
+             && @line && $line[0] =~ /$ignore_matching/)))
         {
-          s/^Co-authored-by:\s*/\t    /;
-          s/\s*</  </;
+          if (defined $ignore_line && @line)
+            {
+              @line = grep ! /$ignore_line/, @line;
+              while ($line[$#line] =~ /^\s*$/) { pop @line; }
+            }
 
-          /<.*?@.*\..*>/
-            or warn "$ME: warning: missing email address for "
-              . substr ($_, 5) . "\n";
-        }
+          # Record whether there are two or more paragraphs.
+          my $multi_paragraph = grep /^\s*$/, @line;
 
-      # 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;
-      @prev_coauthors = @coauthors;
-      $prev_multi_paragraph = $multi_paragraph;
+          # Format 'Co-authored-by: A U Thor <email@example.com>' lines in
+          # standard multi-author ChangeLog format.
+          for (@coauthors)
+            {
+              s/^Co-authored-by:\s*/\t    /;
+              s/\s*</  </;
 
-      # If there were any lines
-      if (@line == 0)
-        {
-          warn "$ME: warning: empty commit message:\n  $date_line\n";
-        }
-      else
-        {
-          if ($append_dot)
+              /<.*?@.*\..*>/
+                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/etc. 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)
             {
-              # If the first line of the message has enough room, then
-              if (length $line[0] < 72)
+              $prev_date_line eq ''
+                or print "\n";
+              print $date_line;
+              @coauthors
+                and print join ("\n", @coauthors), "\n";
+            }
+          $prev_date_line = $date_line;
+          @prev_coauthors = @coauthors;
+          $prev_multi_paragraph = $multi_paragraph;
+
+          # If there were any lines
+          if (@line == 0)
+            {
+              warn "$ME: warning: empty commit message:\n  $date_line\n";
+            }
+          else
+            {
+              if ($append_dot)
                 {
-                  # append a dot if there is no other punctuation or blank
-                  # at the end.
-                  $line[0] =~ /[[:punct:]\s]$/
-                    or $line[0] .= '.';
+                  # 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;
+              # 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;
+              # Prefix each non-empty line with a TAB.
+              @line = map { length $_ ? "\t$_" : '' } @line;
 
-          print "\n", join ("\n", @line), "\n";
+              print "\n", join ("\n", @line), "\n";
+            }
         }
 
       defined ($in = <PIPE>)
index 04367377519aa95e9c254662e9d81362a13f1b10..0b0fdcbba69ab6dd05ca162a5328828d46ab1d54 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2013-10-30.23; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -82,7 +82,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -139,14 +139,16 @@ while test $# -ne 0; do
 
     -s) stripcmd=$stripprog;;
 
-    -t) dst_arg=$2
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
         # Protect names problematic for 'test' and other utilities.
         case $dst_arg in
           -* | [=\(\)!]) dst_arg=./$dst_arg;;
         esac
         shift;;
 
-    -T) no_target_directory=true;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
@@ -161,6 +163,16 @@ while test $# -ne 0; do
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -191,6 +203,15 @@ if test $# -eq 0; then
   exit 0
 fi
 
+if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
 if test -z "$dir_arg"; then
   do_exit='(exit $ret); exit $ret'
   trap "ret=129; $do_exit" 1
@@ -253,7 +274,7 @@ do
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
+      if test "$is_target_a_directory" = never; then
         echo "$0: $dst_arg: Is a directory" >&2
         exit 1
       fi
index b3719cf76191aefd6a48f36c27b8275e268677d0..b793600a128923f385f8ff1a1cc6df0c4bd8cf43 100755 (executable)
@@ -3,7 +3,7 @@
 
 scriptversion=2010-08-21.06; # UTC
 
-# Copyright (C) 1995-2013 Free Software Foundation, Inc.
+# Copyright (C) 1995-2015 Free Software Foundation, Inc.
 # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
 #
 # This program is free software; you can redistribute it and/or modify
index 8111780e073e0b86110caa662f6826c005d215ae..0d55e2bced4586de924df039f8aa5efd0b54fbf2 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index 047a78a052cd5ae38f89f08769084df7215b00d1..585b38ab39a3e877f66160043ae6fae9907a1e48 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index d2d0e740bbf6d0846532421fe6945ba9c319bf65..f507eb745d7b251f4789e498bc03cf5cf9e6a0d0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index feb10633faac55ccb2df88df3ccfd6fe727857dd..90f4985ce1ee38c77fd46643d6d95c64a6797e73 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index 0f2673c849e25850ca3d3d5533fefb29c6f5c13d..df3df9f98a8762125fbd502139e402d7a6f1f413 100644 (file)
@@ -3,11 +3,12 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2014-03-17.07}
+\def\texinfoversion{2015-08-21.13}
 %
 % 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, 2012, 2013, 2014 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
+% 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
@@ -96,7 +97,9 @@
 \let\ptexraggedright=\raggedright
 \let\ptexrbrace=\}
 \let\ptexslash=\/
+\let\ptexsp=\sp
 \let\ptexstar=\*
+\let\ptexsup=\sup
 \let\ptext=\t
 \let\ptextop=\top
 {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
 % described on page 260 of The TeXbook.  It involves outputting two
 % marks for the sectioning macros, one before the section break, and
 % one after.  I won't pretend I can describe this better than DEK...
+%
 \def\domark{%
   \toks0=\expandafter{\lastchapterdefs}%
   \toks2=\expandafter{\lastsectiondefs}%
 % Avoid "undefined control sequence" errors.
 \def\lastchapterdefs{}
 \def\lastsectiondefs{}
+\def\lastsection{}
 \def\prevchapterdefs{}
 \def\prevsectiondefs{}
 \def\lastcolordefs{}
 \def\nsbot{\vbox
   {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
 
+
+% Argument parsing
+
 % Parse an argument, then pass it to #1.  The argument is the rest of
 % the input line (except we remove a trailing comment).  #1 should be a
 % macro which expects an ordinary undelimited TeX argument.
+% For example, \def\foo{\parsearg\fooxxx}.
 %
 \def\parsearg{\parseargusing{}}
 \def\parseargusing#1#2{%
   }%
 }
 
-% First remove any @comment, then any @c comment.
+% First remove any @comment, then any @c comment.  Also remove a @texinfoc
+% comment (see \scanmacro for details).  Pass the result on to \argcheckspaces.
 \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
-\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
+\def\argremovec#1\c#2\ArgTerm{\argremovetexinfoc #1\texinfoc\ArgTerm}
+\def\argremovetexinfoc#1\texinfoc#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
 
 % Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
 %
@@ -934,12 +945,20 @@ where each line of input produces a line of output.}
 % @c is the same as @comment
 % @ignore ... @end ignore  is another way to write a comment
 %
-\def\comment{\begingroup \catcode`\^^M=\other%
+\def\comment{\begingroup \catcode`\^^M=\active%
+\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other\commentxxx}%
+
+{\catcode`\^^M=\active%
+\gdef\commentxxx#1^^M{\endgroup%
+\futurelet\nexttoken\commentxxxx}%
+\gdef\commentxxxx{\ifx\nexttoken\aftermacro\expandafter\comment\fi}%
+}
+
+\def\c{\begingroup \catcode`\^^M=\active%
 \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-%
-\let\c=\comment
+\cxxx}
+{\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}}
+% See comment in \scanmacro about why the definitions of @c and @comment differ
 
 % @paragraphindent NCHARS
 % We'll use ems for NCHARS, close enough.
@@ -1010,24 +1029,15 @@ where each line of input produces a line of output.}
 % paragraph.
 %
 \gdef\dosuppressfirstparagraphindent{%
-  \gdef\indent{%
-    \restorefirstparagraphindent
-    \indent
-  }%
-  \gdef\noindent{%
-    \restorefirstparagraphindent
-    \noindent
-  }%
-  \global\everypar = {%
-    \kern -\parindent
-    \restorefirstparagraphindent
-  }%
+  \gdef\indent  {\restorefirstparagraphindent \indent}%
+  \gdef\noindent{\restorefirstparagraphindent \noindent}%
+  \global\everypar = {\kern -\parindent \restorefirstparagraphindent}%
 }
-
+%
 \gdef\restorefirstparagraphindent{%
-  \global \let \indent = \ptexindent
-  \global \let \noindent = \ptexnoindent
-  \global \everypar = {}%
+  \global\let\indent = \ptexindent
+  \global\let\noindent = \ptexnoindent
+  \global\everypar = {}%
 }
 
 
@@ -1888,6 +1898,7 @@ end
 % Section fonts (14.4pt).
 \def\secnominalsize{14pt}
 \setfont\secrm\rmbshape{12}{\magstep1}{OT1}
+\setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1}
 \setfont\secit\itbshape{10}{\magstep2}{OT1IT}
 \setfont\secsl\slbshape{10}{\magstep2}{OT1}
 \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
@@ -2090,12 +2101,9 @@ end
  \endgroup
 }
 
-
 % In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
+% we have to define the \textfont of the standard families.  We don't
+% bother to reset \scriptfont and \scriptscriptfont; awaiting user need.
 %
 \def\resetmathfonts{%
   \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
@@ -2109,8 +2117,8 @@ end
 % \tenSTYLE to set the current font.
 %
 % Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower).  These relative commands are used in
-% the LaTeX logo and acronyms.
+% and \lllsize (three sizes lower).  These relative commands are used
+% in, e.g., the LaTeX logo and acronyms.
 %
 % This all needs generalizing, badly.
 %
@@ -2146,7 +2154,7 @@ end
   \let\tenttsl=\secttsl
   \def\curfontsize{sec}%
   \def\lsize{subsec}\def\lllsize{reduced}%
-  \resetmathfonts \setleading{16pt}}
+  \resetmathfonts \setleading{17pt}}
 \def\subsecfonts{%
   \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
   \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
@@ -2851,6 +2859,8 @@ end
   \let\v=\check
   \let\~=\tilde
   \let\dotaccent=\dot
+  % have to provide another name for sup operator
+  \let\mathopsup=\sup
   $\finishmath
 }
 \def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
@@ -2874,8 +2884,17 @@ end
   }
 }
 
-% ctrl is no longer a Texinfo command, but leave this definition for fun.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+% for @sub and @sup, if in math mode, just do a normal sub/superscript.
+% If in text, use math to place as sub/superscript, but switch
+% into text mode, with smaller fonts.  This is a different font than the
+% one used for real math sub/superscripts (8pt vs. 7pt), but let's not
+% fix it (significant additions to font machinery) until someone notices.
+%
+\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi}
+\def\finishsub#1{$\sb{\hbox{\selectfonts\lllsize #1}}$}%
+%
+\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi}
+\def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}%
 
 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
@@ -3017,11 +3036,16 @@ end
   \TeX
 }
 
-% Some math mode symbols.
-\def\bullet{$\ptexbullet$}
-\def\geq{\ifmmode \ge\else $\ge$\fi}
-\def\leq{\ifmmode \le\else $\le$\fi}
-\def\minus{\ifmmode -\else $-$\fi}
+% Some math mode symbols.  Define \ensuremath to switch into math mode
+% unless we are already there.  Expansion tricks may not be needed here,
+% but safer, and can't hurt.
+\def\ensuremath{\ifmmode \expandafter\asis \else\expandafter\ensuredmath \fi}
+\def\ensuredmath#1{$\relax#1$}
+%
+\def\bullet{\ensuremath\ptexbullet}
+\def\geq{\ensuremath\ge}
+\def\leq{\ensuremath\le}
+\def\minus{\ensuremath-}
 
 % @dots{} outputs an ellipsis using the current font.
 % We do .5em per period so that it has the same spacing in the cm
@@ -3185,8 +3209,15 @@ end
 \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
 \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
 %
-% Use the ec* fonts (cm-super in outline format) for non-CM glyphs.
-\def\ecfont{%
+% Use the European Computer Modern fonts (cm-super in outline format)
+% for non-CM glyphs.  That is ec* for regular text and tc* for the text
+% companion symbols (LaTeX TS1 encoding).  Both are part of the ec
+% package and follow the same conventions.
+% 
+\def\ecfont{\etcfont{e}}
+\def\tcfont{\etcfont{t}}
+%
+\def\etcfont#1{%
   % We can't distinguish serif/sans and italic/slanted, but this
   % is used for crude hacks anyway (like adding French and German
   % quotes to documents typeset with CM, where we lose kerning), so
@@ -3195,14 +3226,14 @@ end
   \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
   \ifmonospace
     % typewriter:
-    \font\thisecfont = ectt\ecsize \space at \nominalsize
+    \font\thisecfont = #1ctt\ecsize \space at \nominalsize
   \else
     \ifx\curfontstyle\bfstylename
       % bold:
-      \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+      \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
     \else
       % regular:
-      \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+      \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
     \fi
   \fi
   \thisecfont
@@ -4436,31 +4467,6 @@ end
   \def\{{{\tt\char123}}%
   \def\}{{\tt\char125}}%
   %
-  % I don't entirely understand this, but when an index entry is
-  % generated from a macro call, the \endinput which \scanmacro inserts
-  % causes processing to be prematurely terminated.  This is,
-  % apparently, because \indexsorttmp is fully expanded, and \endinput
-  % is an expandable command.  The redefinition below makes \endinput
-  % disappear altogether for that purpose -- although logging shows that
-  % processing continues to some further point.  On the other hand, it
-  % seems \endinput does not hurt in the printed index arg, since that
-  % is still getting written without apparent harm.
-  %
-  % Sample source (mac-idx3.tex, reported by Graham Percival to
-  % help-texinfo, 22may06):
-  % @macro funindex {WORD}
-  % @findex xyz
-  % @end macro
-  % ...
-  % @funindex commtest
-  % This is not enough to reproduce the bug, but it gives the flavor.
-  %
-  % Sample whatsit resulting:
-  % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
-  %
-  % So:
-  \let\endinput = \empty
-  %
   % Do the redefinitions.
   \commondummies
 }
@@ -4484,7 +4490,6 @@ end
 % Called from \indexdummies and \atdummies.
 %
 \def\commondummies{%
-  %
   % \definedummyword defines \#1 as \string\#1\space, thus effectively
   % preventing its expansion.  This is used only for control words,
   % not control letters, because the \space would be incorrect for
@@ -4561,6 +4566,7 @@ end
   \definedummyword\guilsinglright
   \definedummyword\lbracechar
   \definedummyword\leq
+  \definedummyword\mathopsup
   \definedummyword\minus
   \definedummyword\ogonek
   \definedummyword\pounds
@@ -4574,6 +4580,8 @@ end
   \definedummyword\quotesinglbase
   \definedummyword\rbracechar
   \definedummyword\result
+  \definedummyword\sub
+  \definedummyword\sup
   \definedummyword\textdegree
   %
   % We want to disable all macros so that they are not expanded by \write.
@@ -4648,6 +4656,7 @@ end
   \definedummyword\samp
   \definedummyword\strong
   \definedummyword\tie
+  \definedummyword\U
   \definedummyword\uref
   \definedummyword\url
   \definedummyword\var
@@ -5004,10 +5013,39 @@ end
 % These macros are used by the sorted index file itself.
 % Change them to control the appearance of the index.
 
-\def\initial#1{{%
-  % Some minor font changes for the special characters.
-  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-  %
+\let\normalhyphen=-
+{\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13
+\catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13
+\catcode`\$=3
+\gdef\initialfonts{%
+  \usemathbackslash
+  \secfonts
+  % Some changes for non-alphabetic characters.  Using the glyphs from the
+  % math fonts looks more consistent than the typewriter font used elsewhere
+  % for these characters.
+  % Can't get bold backslash so don't use bold forward slash
+  \catcode`\/=13
+  \def/{{\secrmnotbold \normalslash}}
+  \catcode`\-=13
+  \def-{{\normalhyphen\normalhyphen}}
+  \let^=\normalcaret
+  \let~=\normaltilde
+  \def\_{%
+    \leavevmode \kern.07em \vbox{\hrule width.33em height.06ex}\kern .07em }
+  \def|{$\vert$}
+  \def<{$\less$}
+  \def>{$\gtr$}
+  \def+{$\normalplus$}
+  \let"=\normaldoublequote
+}}
+
+\def\initial{%
+  \bgroup
+  \initialfonts
+  \initialx
+}
+
+\def\initialx#1{%
   % Remove any glue we may have, we'll be inserting our own.
   \removelastskip
   %
@@ -5028,7 +5066,8 @@ end
   % Do our best not to break after the initial.
   \nobreak
   \vskip .33\baselineskip plus .1\baselineskip
-}}
+  \egroup % \initialfonts
+}
 
 % \entry typesets a paragraph consisting of the text (#1), dot leaders, and
 % then page number (#2) flushed to the right margin.  It is used for index
@@ -5739,13 +5778,16 @@ end
 %
 % #1 is the text, #2 is the section type (Ynumbered, Ynothing,
 % Yappendix, Yomitfromtoc), #3 the chapter number.
+% Not used for @heading series.
 %
 % To test against our argument.
 \def\Ynothingkeyword{Ynothing}
-\def\Yomitfromtockeyword{Yomitfromtoc}
 \def\Yappendixkeyword{Yappendix}
+\def\Yomitfromtockeyword{Yomitfromtoc}
 %
 \def\chapmacro#1#2#3{%
+  \checkenv{}% chapters, etc., should not start inside an environment.
+  %
   % Insert the first mark before the heading break (see notes for \domark).
   \let\prevchapterdefs=\lastchapterdefs
   \let\prevsectiondefs=\lastsectiondefs
@@ -5798,6 +5840,7 @@ end
   %
   {%
     \chapfonts \rmisbold
+    \let\footnote=\errfootnoteheading % give better error message
     %
     % Have to define \lastsection before calling \donoderef, because the
     % xref code eventually uses it.  On the other hand, it has to be called
@@ -5891,22 +5934,29 @@ end
 
 % Print any size, any type, section title.
 %
-% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
-% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
-% section number.
+% #1 is the text of the title,
+% #2 is the section level (sec/subsec/subsubsec),
+% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc),
+% #4 is the section number.
 %
 \def\seckeyword{sec}
 %
 \def\sectionheading#1#2#3#4{%
   {%
-    \checkenv{}% should not be in an environment.
+    \def\sectionlevel{#2}%
+    \def\temptype{#3}%
+    %
+    % It is ok for the @heading series commands to appear inside an
+    % environment (it's been historically allowed, though the logic is
+    % dubious), but not the others.
+    \ifx\temptype\Yomitfromtockeyword\else
+      \checkenv{}% non-@*heading should not be in an environment.
+    \fi
+    \let\footnote=\errfootnoteheading
     %
     % Switch to the right set of fonts.
     \csname #2fonts\endcsname \rmisbold
     %
-    \def\sectionlevel{#2}%
-    \def\temptype{#3}%
-    %
     % Insert first mark before the heading break (see notes for \domark).
     \let\prevsectiondefs=\lastsectiondefs
     \ifx\temptype\Ynothingkeyword
@@ -6333,6 +6383,7 @@ end
   % other math active characters (just in case), to plain's definitions.
   \mathactive
   %
+  % Inverse of the list at the beginning of the file.
   \let\b=\ptexb
   \let\bullet=\ptexbullet
   \let\c=\ptexc
@@ -6348,7 +6399,9 @@ end
   \let\+=\tabalign
   \let\}=\ptexrbrace
   \let\/=\ptexslash
+  \let\sp=\ptexsp
   \let\*=\ptexstar
+  %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode
   \let\t=\ptext
   \expandafter \let\csname top\endcsname=\ptextop  % we've made it outer
   \let\frenchspacing=\plainfrenchspacing
@@ -6846,7 +6899,7 @@ end
 % typesetting commands (@smallbook, font changes, etc.) have to be done
 % beforehand -- and a) we want @copying to be done first in the source
 % file; b) letting users define the frontmatter in as flexible order as
-% possible is very desirable.
+% possible is desirable.
 %
 \def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
 \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
@@ -7279,34 +7332,42 @@ end
   }
 \fi
 
-\def\scanmacro#1{\begingroup
+\let\aftermacroxxx\relax
+\def\aftermacro{\aftermacroxxx}
+
+% alias because \c means cedilla in @tex or @math
+\let\texinfoc=\c
+
+% Used at the time of macro expansion.
+% Argument is macro body with arguments substituted
+\def\scanmacro#1{%
   \newlinechar`\^^M
   \let\xeatspaces\eatspaces
   %
-  % Undo catcode changes of \startcontents and \doprintindex
-  % When called from @insertcopying or (short)caption, we need active
-  % backslash to get it printed correctly.  Previously, we had
-  % \catcode`\\=\other instead.  We'll see whether a problem appears
-  % with macro expansion.                              --kasal, 19aug04
-  \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
-  %
-  % ... and for \example:
-  \spaceisspace
+  % Process the macro body under the current catcode regime.
+  \scantokens{#1\texinfoc}\aftermacro%
   %
-  % 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}
+  % The \c is to remove the \newlinechar added by \scantokens, and
+  % can be noticed by \parsearg.
+  %   The \aftermacro allows a \comment at the end of the macro definition
+  % to duplicate itself past the final \newlinechar added by \scantokens:
+  % this is used in the definition of \group to comment out a newline.  We
+  % don't do the same for \c to support Texinfo files with macros that ended
+  % with a @c, which should no longer be necessary.
+  %   We avoid surrounding the call to \scantokens with \bgroup and \egroup
+  % to allow macros to open or close groups themselves.
+}
 
 \def\scanexp#1{%
+  \bgroup
+  % Undo catcode changes of \startcontents and \printindex
+  % When called from @insertcopying or (short)caption, we need active
+  % backslash to get it printed correctly.
+  % FIXME: This may not be needed.
+  %\catcode`\@=0 \catcode`\\=\active \escapechar=`\@
   \edef\temp{\noexpand\scanmacro{#1}}%
   \temp
+  \egroup
 }
 
 \newcount\paramno   % Count of parameters
@@ -7372,7 +7433,6 @@ end
   \catcode`\+=\other
   \catcode`\<=\other
   \catcode`\>=\other
-  \catcode`\@=\other
   \catcode`\^=\other
   \catcode`\_=\other
   \catcode`\|=\other
@@ -7382,38 +7442,36 @@ end
 
 \def\scanargctxt{% used for copying and captions, not macros.
   \scanctxt
+  \catcode`\@=\other
   \catcode`\\=\other
   \catcode`\^^M=\other
 }
 
 \def\macrobodyctxt{% used for @macro definitions
   \scanctxt
+  \catcode`\ =\other
+  \catcode`\@=\other
   \catcode`\{=\other
   \catcode`\}=\other
   \catcode`\^^M=\other
   \usembodybackslash
 }
 
-\def\macroargctxt{% used when scanning invocations
+% Used when scanning braced macro arguments.  Note, however, that catcode
+% changes here are ineffectual if the macro invocation was nested inside
+% an argument to another Texinfo command.
+\def\macroargctxt{%
   \scanctxt
-  \catcode`\\=0
+  \catcode`\\=\active
 }
-% why catcode 0 for \ in the above?  To recognize \\ \{ \} as "escapes"
-% for the single characters \ { }.  Thus, we end up with the "commands"
-% that would be written @\ @{ @} in a Texinfo document.
-% 
-% We already have @{ and @}.  For @\, we define it here, and only for
-% this purpose, to produce a typewriter backslash (so, the @\ that we
-% define for @math can't be used with @macro calls):
-%
+
 \def\\{\normalbackslash}%
-% 
-% We would like to do this for \, too, since that is what makeinfo does.
-% But it is not possible, because Texinfo already has a command @, for a
-% cedilla accent.  Documents must use @comma{} instead.
-%
-% \anythingelse will almost certainly be an error of some kind.
 
+\def\macrolineargctxt{% used for whole-line arguments without braces
+  \scanctxt
+  \catcode`\{=\other
+  \catcode`\}=\other
+}
 
 % \mbodybackslash is the definition of \ in @macro bodies.
 % It maps \foo\ => \csname macarg.foo\endcsname => #N
@@ -7488,12 +7546,14 @@ end
 % This makes use of the obscure feature that if the last token of a
 % <parameter list> is #, then the preceding argument is delimited by
 % an opening brace, and that opening brace is not consumed.
+% 
 \def\getargs#1{\getargsxxx#1{}}
 \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
 \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.
+% For macro processing make @ a letter so that we can make
+% private-to-Texinfo macro names.
 \edef\texiatcatcode{\the\catcode`\@}
 \catcode `@=11\relax
 
@@ -7523,8 +7583,8 @@ end
 % 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.
+% arguments, no macro can have more than 256 arguments (else error).
+% 
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
@@ -7567,13 +7627,12 @@ end
 
 % These two commands read recursive and nonrecursive macro bodies.
 % (They're different since rec and nonrec macros end differently.)
-%
-
+% Set \temp to the body of the macro, and call \defmacro.
 \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`\ =\other\long\gdef\parsemacbody#1@end macro{%
+\xdef\temp{\eatcr{#1}}\endgroup\defmacro}}%
+{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{%
+\xdef\temp{\eatcr{#1}}\endgroup\defmacro}}%
 \catcode `\@=11\relax
 
 \let\endargs@\relax
@@ -7582,7 +7641,7 @@ end
 \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
+% definition.  It gets all the arguments' values and assigns them to macros
 % macarg.ARGNAME
 %
 % #1 is the macro name
@@ -7604,7 +7663,8 @@ end
   \fi
 }
 
-% 
+% Internal for \getargsval@.
+%  
 \def\getargvals@@{%
   \ifx\paramlist\nilm@
       % Some sanity check needed here that \argvaluelist is also empty.
@@ -7648,7 +7708,8 @@ end
 }
 
 % Replace arguments by their values in the macro body, and place the result
-% in macro \@tempa
+% 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
@@ -7672,8 +7733,9 @@ end
   \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
   }
 
+% Define the named-macro outside of this group and then close this group. 
+% 
 \def\macargexpandinbody@{% 
-  %% Define the named-macro outside of this group and then close this group. 
   \expandafter
   \endgroup
   \macargdeflist@
@@ -7710,14 +7772,17 @@ end
   \next
 }
 
-% Save the token stack pointer into macro #1
+% 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 .
+%
+% Restore the token stack pointer from number in macro #1:
+\def\texirestoretoksstackpoint#1{\expandafter\mathchardef
+  \expandafter\@cclvi#1\relax}
+% Variant \newtoks that can be used non-\outer:
 \def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
 
-% Tailing missing arguments are set to empty
+% Tailing missing arguments are set to empty.
+% 
 \def\setemptyargvalues@{%
   \ifx\paramlist\nilm@
     \let\next\macargexpandinbody@
@@ -7747,22 +7812,23 @@ end
    \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.
+% This defines a Texinfo @macro.  \temp has the body of the macro in it.
+% 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.
 %
 \def\defmacro{%
   \let\hash=##% convert placeholders to macro parameter chars
-  \ifrecursive
+  \ifrecursive   %%%%%%%%%%%%%% Recursive %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     \ifcase\paramno
     % 0
       \expandafter\xdef\csname\the\macname\endcsname{%
         \noexpand\scanmacro{\temp}}%
     \or % 1
       \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
+         \bgroup
          \noexpand\braceorline
          \expandafter\noexpand\csname\the\macname xxx\endcsname}%
       \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
@@ -7787,21 +7853,20 @@ end
         \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
       \fi
     \fi
-  \else
+  \else  %%%%%%%%%%%%%%%%%%%%%% Non-recursive %%%%%%%%%%%%%%%%%%%%%%%%%%
     \ifcase\paramno
     % 0
       \expandafter\xdef\csname\the\macname\endcsname{%
-        \noexpand\norecurse{\the\macname}%
-        \noexpand\scanmacro{\temp}\egroup}%
+        \noexpand\scanmacro{\temp}}%
     \or % 1
       \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
+         \bgroup
          \noexpand\braceorline
          \expandafter\noexpand\csname\the\macname xxx\endcsname}%
       \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
         \egroup
-        \noexpand\norecurse{\the\macname}%
-        \noexpand\scanmacro{\temp}\egroup}%
+        \noexpand\scanmacro{\temp}%
+        }%
     \else % at most 9
       \ifnum\paramno<10\relax
         \expandafter\xdef\csname\the\macname\endcsname{%
@@ -7815,8 +7880,8 @@ end
         \csname\the\macname xxx\endcsname
         \paramlist{%
             \egroup
-            \noexpand\norecurse{\the\macname}%
-            \noexpand\scanmacro{\temp}\egroup}%
+            \noexpand\scanmacro{\temp}%
+            }%
       \else % 10 or more:
         \expandafter\xdef\csname\the\macname\endcsname{%
           \noexpand\getargvals@{\the\macname}{\argl}%
@@ -7827,19 +7892,90 @@ end
     \fi
   \fi}
 
-\catcode `\@\texiatcatcode\relax
+\catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes
 
 \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
 
-% \braceorline decides whether the next nonwhitespace character is a
-% {.  If so it reads up to the closing }, if not, it reads the whole
-% line.  Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg).
+
+{\catcode`\@=0 \catcode`\\=13
+@catcode`@_=11
+
+% Call #1 with a list of tokens #2, with any doubled backslashes in #2
+% compressed to one.
+@gdef@passargtomacro#1#2{%
+  @def@the_macro{#1}%
+  @def@pending_backslash{}%
+  @def@finish{@finish}%
+  @def@arg_result{}%
+  @let@next_token=@relax
+  @add_segment#2\@finish\%
+}
+
+% Input stream is just after a backslash.  If the next token is not a
+% backslash, process the rest of the argument; otherwise, remove the next
+% token.
+@gdef@look_ahead{%
+  @futurelet@next_token@look_aheadzzz}
+@gdef@look_aheadzzz{%
+  @ifx@next_token\%
+   @let@next=@gobble_and_check_finish 
+  @else
+   @let@next=@add_segment
+  @fi@next
+}
+
+% Double backslash found.  Add a single backslash here.
+@gdef@gobble_and_check_finish#1{%
+  @add_the_backslash
+  @def@pending_backslash{}%
+  @futurelet@next_token@add_segment
+}
+
+% append a backslash to \arg_result
+@gdef@add_the_backslash{%
+  @expandafter@gdef@expandafter@arg_result@expandafter{@arg_result\}%
+}
+
+% Input stream is either at the start of the argument, or just after a 
+% backslash sequence, either a lone backslash, or a doubled backslash.  
+% \next_token contains the first token in the input stream: if it is \finish, 
+% finish; otherwise, append to \arg_result the segment of the argument up until
+% the next backslash.  \pending_backslash contains a backslash to represent
+% a backslash just before the start of the input stream that has not been
+% added to \arg_result.
+@gdef@add_segment#1\{%
+@ifx@next_token@finish
+  @let@next=@call_the_macro%
+@else
+  @let@next=@look_ahead
+  %
+  % append to @arg_result
+  % token list registers might be better
+  @expandafter@expandafter@expandafter@gdef
+  @expandafter@expandafter@expandafter@arg_result
+  @expandafter@expandafter@expandafter{%
+  @expandafter@arg_result
+  @pending_backslash#1}%
+  @def@pending_backslash{\}%
+@fi@next}
+
+@gdef@call_the_macro{@expandafter@the_macro@expandafter{@arg_result}}
+
+}
+
+% \braceorline MAC is used for a one-argument macro MAC.  It checks
+% whether the next non-whitespace character is a {.  It sets the context
+% for reading the argument (slightly different in the two cases).  Then,
+% to read the argument, in the whole-line case, it then calls the regular
+% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC.
 % 
 \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
 \def\braceorlinexxx{%
-  \ifx\nchar\bgroup\else
-    \expandafter\parsearg
+  \ifx\nchar\bgroup
+    \macroargctxt
+    \expandafter\passargtomacro
+  \else
+    \macrolineargctxt\expandafter\parsearg
   \fi \macnamexxx}
 
 
@@ -8318,14 +8454,7 @@ end
   \catcode`\\=\other
   %
   % Make the characters 128-255 be printing characters.
-  {%
-    \count1=128
-    \def\loop{%
-      \catcode\count1=\other
-      \advance\count1 by 1
-      \ifnum \count1<256 \loop \fi
-    }%
-  }%
+  {\setnonasciicharscatcodenonglobal\other}%
   %
   % @ is our escape character in .aux files, and we need braces.
   \catcode`\{=1
@@ -8359,9 +8488,6 @@ end
 %
 % Auto-number footnotes.  Otherwise like plain.
 \gdef\footnote{%
-  \let\indent=\ptexindent
-  \let\noindent=\ptexnoindent
-  %
   \global\advance\footnoteno by \@ne
   \edef\thisfootno{$^{\the\footnoteno}$}%
   %
@@ -8388,7 +8514,7 @@ end
   %
   % Nested footnotes are not supported in TeX, that would take a lot
   % more work.  (\startsavinginserts does not suffice.)
-  \let\footnote=\errfootnote
+  \let\footnote=\errfootnotenest
   %
   % We want to typeset this text as a normal paragraph, even if the
   % footnote reference occurs in (for example) a display environment.
@@ -8427,12 +8553,17 @@ end
 }
 }%end \catcode `\@=11
 
-\def\errfootnote{%
+\def\errfootnotenest{%
   \errhelp=\EMsimple
   \errmessage{Nested footnotes not supported in texinfo.tex,
     even though they work in makeinfo; sorry}
 }
 
+\def\errfootnoteheading{%
+  \errhelp=\EMsimple
+  \errmessage{Footnotes in chapters, sections, etc., are not supported}
+}
+
 % In case a @footnote appears in a vbox, save the footnote text and create
 % the real \insert just after the vbox finished.  Otherwise, the insertion
 % would be lost.
@@ -8856,20 +8987,20 @@ end
 {
   \catcode`\_ = \active
   \globaldefs=1
-\parseargdef\documentlanguage{\begingroup
-  \let_=\normalunderscore  % normal _ character for filenames
+\parseargdef\documentlanguage{%
   \tex % read txi-??.tex file in plain TeX.
     % Read the file by the name they passed if it exists.
+    \let_ = \normalunderscore  % normal _ character for filename test
     \openin 1 txi-#1.tex
     \ifeof 1
-      \documentlanguagetrywithoutunderscore{#1_\finish}%
+      \documentlanguagetrywithoutunderscore #1_\finish
     \else
       \globaldefs = 1  % everything in the txi-LL files needs to persist
       \input txi-#1.tex
     \fi
     \closein 1
   \endgroup % end raw TeX
-\endgroup}
+}
 %
 % If they passed de_DE, and txi-de_DE.tex doesn't exist,
 % try txi-de.tex.
@@ -8968,10 +9099,12 @@ directory should work if nowhere else does.}
   %
   \else \ifx \declaredencoding \utfeight
      \setnonasciicharscatcode\active
-     \utfeightchardefs
+     % since we already invoked \utfeightchardefs at the top level
+     % (below), do not re-invoke it, then our check for duplicated
+     % definitions triggers.  Making non-ascii chars active is enough.
   %
   \else
-    \message{Unknown document encoding #1, ignoring.}%
+    \message{Ignoring unknown document encoding: #1.}%
   %
   \fi % utfeight
   \fi % latnine
@@ -8980,10 +9113,11 @@ directory should work if nowhere else does.}
   \fi % ascii
 }
 
+% emacs-page
 % A message to be logged when using a character that isn't available
 % the default font encoding (OT1).
 %
-\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
+\def\missingcharmsg#1{\message{Character missing, sorry: #1.}}
 
 % Take account of \c (plain) vs. \, (Texinfo) difference.
 \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
@@ -8997,17 +9131,17 @@ directory should work if nowhere else does.}
 \def\latonechardefs{%
   \gdef^^a0{\tie}
   \gdef^^a1{\exclamdown}
-  \gdef^^a2{\missingcharmsg{CENT SIGN}}
-  \gdef^^a3{{\pounds}}
-  \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
-  \gdef^^a5{\missingcharmsg{YEN SIGN}}
-  \gdef^^a6{\missingcharmsg{BROKEN BAR}}
+  \gdef^^a2{{\tcfont \char162}} % cent
+  \gdef^^a3{\pounds}
+  \gdef^^a4{{\tcfont \char164}} % currency
+  \gdef^^a5{{\tcfont \char165}} % yen
+  \gdef^^a6{{\tcfont \char166}} % broken bar
   \gdef^^a7{\S}
   \gdef^^a8{\"{}}
   \gdef^^a9{\copyright}
   \gdef^^aa{\ordf}
   \gdef^^ab{\guillemetleft}
-  \gdef^^ac{$\lnot$}
+  \gdef^^ac{\ensuremath\lnot}
   \gdef^^ad{\-}
   \gdef^^ae{\registeredsymbol}
   \gdef^^af{\={}}
@@ -9019,12 +9153,10 @@ directory should work if nowhere else does.}
   \gdef^^b4{\'{}}
   \gdef^^b5{$\mu$}
   \gdef^^b6{\P}
-  %
-  \gdef^^b7{$^.$}
+  \gdef^^b7{\ensuremath\cdot}
   \gdef^^b8{\cedilla\ }
   \gdef^^b9{$^1$}
   \gdef^^ba{\ordm}
-  %
   \gdef^^bb{\guillemetright}
   \gdef^^bc{$1\over4$}
   \gdef^^bd{$1\over2$}
@@ -9279,6 +9411,18 @@ directory should work if nowhere else does.}
   \UTFviiiLoop
 \endgroup
 
+\def\globallet{\global\let} % save some \expandafter's below
+
+% @U{xxxx} to produce U+xxxx, if we support it.
+\def\U#1{%
+  \expandafter\ifx\csname uni:#1\endcsname \relax
+    \errhelp = \EMsimple       
+    \errmessage{Unicode character U+#1 not supported, sorry}%
+  \else
+    \csname uni:#1\endcsname
+  \fi
+}
+
 \begingroup
   \catcode`\"=12
   \catcode`\<=12
@@ -9287,7 +9431,6 @@ directory should work if nowhere else does.}
   \catcode`\;=12
   \catcode`\!=12
   \catcode`\~=13
-
   \gdef\DeclareUnicodeCharacter#1#2{%
     \countUTFz = "#1\relax
     %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
@@ -9302,6 +9445,13 @@ directory should work if nowhere else does.}
       \expandafter\expandafter\expandafter\expandafter
        \expandafter\expandafter\expandafter
        \gdef\UTFviiiTmp{#2}%
+      % 
+      \expandafter\ifx\csname uni:#1\endcsname \relax \else
+       \errmessage{Internal error, already defined: #1}%
+      \fi
+      %
+      % define an additional control sequence for this code point.
+      \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
     \endgroup}
 
   \gdef\parseXMLCharref{%
@@ -9339,23 +9489,53 @@ directory should work if nowhere else does.}
     \uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
 \endgroup
 
+% https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M
+% U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
+% U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
+% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A
+% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B
+% 
+% Many of our renditions are less than wonderful, and all the missing
+% characters are available somewhere.  Loading the necessary fonts
+% awaits user request.  We can't truly support Unicode without
+% reimplementing everything that's been done in LaTeX for many years,
+% plus probably using luatex or xetex, and who knows what else.
+% We won't be doing that here in this simple file.  But we can try to at
+% least make most of the characters not bomb out.
+%
 \def\utfeightchardefs{%
   \DeclareUnicodeCharacter{00A0}{\tie}
   \DeclareUnicodeCharacter{00A1}{\exclamdown}
+  \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent
   \DeclareUnicodeCharacter{00A3}{\pounds}
+  \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency
+  \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen
+  \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar
+  \DeclareUnicodeCharacter{00A7}{\S}
   \DeclareUnicodeCharacter{00A8}{\"{ }}
   \DeclareUnicodeCharacter{00A9}{\copyright}
   \DeclareUnicodeCharacter{00AA}{\ordf}
   \DeclareUnicodeCharacter{00AB}{\guillemetleft}
+  \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}
   \DeclareUnicodeCharacter{00AD}{\-}
   \DeclareUnicodeCharacter{00AE}{\registeredsymbol}
   \DeclareUnicodeCharacter{00AF}{\={ }}
 
   \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
+  \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}
+  \DeclareUnicodeCharacter{00B2}{$^2$}
+  \DeclareUnicodeCharacter{00B3}{$^3$}
   \DeclareUnicodeCharacter{00B4}{\'{ }}
+  \DeclareUnicodeCharacter{00B5}{$\mu$}
+  \DeclareUnicodeCharacter{00B6}{\P}
+  \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}
   \DeclareUnicodeCharacter{00B8}{\cedilla{ }}
+  \DeclareUnicodeCharacter{00B9}{$^1$}
   \DeclareUnicodeCharacter{00BA}{\ordm}
   \DeclareUnicodeCharacter{00BB}{\guillemetright}
+  \DeclareUnicodeCharacter{00BC}{$1\over4$}
+  \DeclareUnicodeCharacter{00BD}{$1\over2$}
+  \DeclareUnicodeCharacter{00BE}{$3\over4$}
   \DeclareUnicodeCharacter{00BF}{\questiondown}
 
   \DeclareUnicodeCharacter{00C0}{\`A}
@@ -9382,6 +9562,7 @@ directory should work if nowhere else does.}
   \DeclareUnicodeCharacter{00D4}{\^O}
   \DeclareUnicodeCharacter{00D5}{\~O}
   \DeclareUnicodeCharacter{00D6}{\"O}
+  \DeclareUnicodeCharacter{00D7}{\ensuremath\times}
   \DeclareUnicodeCharacter{00D8}{\O}
   \DeclareUnicodeCharacter{00D9}{\`U}
   \DeclareUnicodeCharacter{00DA}{\'U}
@@ -9415,6 +9596,7 @@ directory should work if nowhere else does.}
   \DeclareUnicodeCharacter{00F4}{\^o}
   \DeclareUnicodeCharacter{00F5}{\~o}
   \DeclareUnicodeCharacter{00F6}{\"o}
+  \DeclareUnicodeCharacter{00F7}{\ensuremath\div}
   \DeclareUnicodeCharacter{00F8}{\o}
   \DeclareUnicodeCharacter{00F9}{\`u}
   \DeclareUnicodeCharacter{00FA}{\'u}
@@ -9434,20 +9616,23 @@ directory should work if nowhere else does.}
   \DeclareUnicodeCharacter{0107}{\'c}
   \DeclareUnicodeCharacter{0108}{\^C}
   \DeclareUnicodeCharacter{0109}{\^c}
-  \DeclareUnicodeCharacter{0118}{\ogonek{E}}
-  \DeclareUnicodeCharacter{0119}{\ogonek{e}}
   \DeclareUnicodeCharacter{010A}{\dotaccent{C}}
   \DeclareUnicodeCharacter{010B}{\dotaccent{c}}
   \DeclareUnicodeCharacter{010C}{\v{C}}
   \DeclareUnicodeCharacter{010D}{\v{c}}
   \DeclareUnicodeCharacter{010E}{\v{D}}
+  \DeclareUnicodeCharacter{010F}{d'}
 
+  \DeclareUnicodeCharacter{0110}{\DH}
+  \DeclareUnicodeCharacter{0111}{\dh}
   \DeclareUnicodeCharacter{0112}{\=E}
   \DeclareUnicodeCharacter{0113}{\=e}
   \DeclareUnicodeCharacter{0114}{\u{E}}
   \DeclareUnicodeCharacter{0115}{\u{e}}
   \DeclareUnicodeCharacter{0116}{\dotaccent{E}}
   \DeclareUnicodeCharacter{0117}{\dotaccent{e}}
+  \DeclareUnicodeCharacter{0118}{\ogonek{E}}
+  \DeclareUnicodeCharacter{0119}{\ogonek{e}}
   \DeclareUnicodeCharacter{011A}{\v{E}}
   \DeclareUnicodeCharacter{011B}{\v{e}}
   \DeclareUnicodeCharacter{011C}{\^G}
@@ -9457,14 +9642,20 @@ directory should work if nowhere else does.}
 
   \DeclareUnicodeCharacter{0120}{\dotaccent{G}}
   \DeclareUnicodeCharacter{0121}{\dotaccent{g}}
+  \DeclareUnicodeCharacter{0122}{\cedilla{G}}
+  \DeclareUnicodeCharacter{0123}{\cedilla{g}}
   \DeclareUnicodeCharacter{0124}{\^H}
   \DeclareUnicodeCharacter{0125}{\^h}
+  \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}
+  \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}
   \DeclareUnicodeCharacter{0128}{\~I}
   \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
   \DeclareUnicodeCharacter{012A}{\=I}
   \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
   \DeclareUnicodeCharacter{012C}{\u{I}}
   \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
+  \DeclareUnicodeCharacter{012E}{\ogonek{I}}
+  \DeclareUnicodeCharacter{012F}{\ogonek{i}}
 
   \DeclareUnicodeCharacter{0130}{\dotaccent{I}}
   \DeclareUnicodeCharacter{0131}{\dotless{i}}
@@ -9472,15 +9663,29 @@ directory should work if nowhere else does.}
   \DeclareUnicodeCharacter{0133}{ij}
   \DeclareUnicodeCharacter{0134}{\^J}
   \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
+  \DeclareUnicodeCharacter{0136}{\cedilla{K}}
+  \DeclareUnicodeCharacter{0137}{\cedilla{k}}
+  \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}  
   \DeclareUnicodeCharacter{0139}{\'L}
   \DeclareUnicodeCharacter{013A}{\'l}
+  \DeclareUnicodeCharacter{013B}{\cedilla{L}}
+  \DeclareUnicodeCharacter{013C}{\cedilla{l}}
+  \DeclareUnicodeCharacter{013D}{L'}% should kern
+  \DeclareUnicodeCharacter{013E}{l'}% should kern
+  \DeclareUnicodeCharacter{013F}{L\U{00B7}}
 
+  \DeclareUnicodeCharacter{0140}{l\U{00B7}}
   \DeclareUnicodeCharacter{0141}{\L}
   \DeclareUnicodeCharacter{0142}{\l}
   \DeclareUnicodeCharacter{0143}{\'N}
   \DeclareUnicodeCharacter{0144}{\'n}
+  \DeclareUnicodeCharacter{0145}{\cedilla{N}}
+  \DeclareUnicodeCharacter{0146}{\cedilla{n}}
   \DeclareUnicodeCharacter{0147}{\v{N}}
   \DeclareUnicodeCharacter{0148}{\v{n}}
+  \DeclareUnicodeCharacter{0149}{'n}
+  \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}
+  \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}
   \DeclareUnicodeCharacter{014C}{\=O}
   \DeclareUnicodeCharacter{014D}{\=o}
   \DeclareUnicodeCharacter{014E}{\u{O}}
@@ -9492,6 +9697,8 @@ directory should work if nowhere else does.}
   \DeclareUnicodeCharacter{0153}{\oe}
   \DeclareUnicodeCharacter{0154}{\'R}
   \DeclareUnicodeCharacter{0155}{\'r}
+  \DeclareUnicodeCharacter{0156}{\cedilla{R}}
+  \DeclareUnicodeCharacter{0157}{\cedilla{r}}
   \DeclareUnicodeCharacter{0158}{\v{R}}
   \DeclareUnicodeCharacter{0159}{\v{r}}
   \DeclareUnicodeCharacter{015A}{\'S}
@@ -9503,10 +9710,12 @@ directory should work if nowhere else does.}
 
   \DeclareUnicodeCharacter{0160}{\v{S}}
   \DeclareUnicodeCharacter{0161}{\v{s}}
-  \DeclareUnicodeCharacter{0162}{\cedilla{t}}
-  \DeclareUnicodeCharacter{0163}{\cedilla{T}}
+  \DeclareUnicodeCharacter{0162}{\cedilla{T}}
+  \DeclareUnicodeCharacter{0163}{\cedilla{t}}
   \DeclareUnicodeCharacter{0164}{\v{T}}
-
+  \DeclareUnicodeCharacter{0165}{\v{t}}
+  \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}
+  \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}
   \DeclareUnicodeCharacter{0168}{\~U}
   \DeclareUnicodeCharacter{0169}{\~u}
   \DeclareUnicodeCharacter{016A}{\=U}
@@ -9518,6 +9727,8 @@ directory should work if nowhere else does.}
 
   \DeclareUnicodeCharacter{0170}{\H{U}}
   \DeclareUnicodeCharacter{0171}{\H{u}}
+  \DeclareUnicodeCharacter{0172}{\ogonek{U}}
+  \DeclareUnicodeCharacter{0173}{\ogonek{u}}
   \DeclareUnicodeCharacter{0174}{\^W}
   \DeclareUnicodeCharacter{0175}{\^w}
   \DeclareUnicodeCharacter{0176}{\^Y}
@@ -9529,6 +9740,7 @@ directory should work if nowhere else does.}
   \DeclareUnicodeCharacter{017C}{\dotaccent{z}}
   \DeclareUnicodeCharacter{017D}{\v{Z}}
   \DeclareUnicodeCharacter{017E}{\v{z}}
+  \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}
 
   \DeclareUnicodeCharacter{01C4}{D\v{Z}}
   \DeclareUnicodeCharacter{01C5}{D\v{z}}
@@ -9720,6 +9932,8 @@ directory should work if nowhere else does.}
   \DeclareUnicodeCharacter{201C}{\quotedblleft}
   \DeclareUnicodeCharacter{201D}{\quotedblright}
   \DeclareUnicodeCharacter{201E}{\quotedblbase}
+  \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}
+  \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}
   \DeclareUnicodeCharacter{2022}{\bullet}
   \DeclareUnicodeCharacter{2026}{\dots}
   \DeclareUnicodeCharacter{2039}{\guilsinglleft}
@@ -9731,15 +9945,66 @@ directory should work if nowhere else does.}
 
   \DeclareUnicodeCharacter{2212}{\minus}
   \DeclareUnicodeCharacter{2217}{\point}
+  \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}
   \DeclareUnicodeCharacter{2261}{\equiv}
 }% end of \utfeightchardefs
 
-
 % US-ASCII character definitions.
 \def\asciichardefs{% nothing need be done
    \relax
 }
 
+% Latin1 (ISO-8859-1) character definitions.
+\def\nonasciistringdefs{%
+  \setnonasciicharscatcode\active
+  \def\defstringchar##1{\def##1{\string##1}}%
+  %
+  \defstringchar^^80\defstringchar^^81\defstringchar^^82\defstringchar^^83%
+  \defstringchar^^84\defstringchar^^85\defstringchar^^86\defstringchar^^87%
+  \defstringchar^^88\defstringchar^^89\defstringchar^^8a\defstringchar^^8b%
+  \defstringchar^^8c\defstringchar^^8d\defstringchar^^8e\defstringchar^^8f%
+  %
+  \defstringchar^^90\defstringchar^^91\defstringchar^^92\defstringchar^^93%
+  \defstringchar^^94\defstringchar^^95\defstringchar^^96\defstringchar^^97%
+  \defstringchar^^98\defstringchar^^99\defstringchar^^9a\defstringchar^^9b%
+  \defstringchar^^9c\defstringchar^^9d\defstringchar^^9e\defstringchar^^9f%
+  %
+  \defstringchar^^a0\defstringchar^^a1\defstringchar^^a2\defstringchar^^a3%
+  \defstringchar^^a4\defstringchar^^a5\defstringchar^^a6\defstringchar^^a7%
+  \defstringchar^^a8\defstringchar^^a9\defstringchar^^aa\defstringchar^^ab%
+  \defstringchar^^ac\defstringchar^^ad\defstringchar^^ae\defstringchar^^af%
+  %
+  \defstringchar^^b0\defstringchar^^b1\defstringchar^^b2\defstringchar^^b3%
+  \defstringchar^^b4\defstringchar^^b5\defstringchar^^b6\defstringchar^^b7%
+  \defstringchar^^b8\defstringchar^^b9\defstringchar^^ba\defstringchar^^bb%
+  \defstringchar^^bc\defstringchar^^bd\defstringchar^^be\defstringchar^^bf%
+  %
+  \defstringchar^^c0\defstringchar^^c1\defstringchar^^c2\defstringchar^^c3%
+  \defstringchar^^c4\defstringchar^^c5\defstringchar^^c6\defstringchar^^c7%
+  \defstringchar^^c8\defstringchar^^c9\defstringchar^^ca\defstringchar^^cb%
+  \defstringchar^^cc\defstringchar^^cd\defstringchar^^ce\defstringchar^^cf%
+  %
+  \defstringchar^^d0\defstringchar^^d1\defstringchar^^d2\defstringchar^^d3%
+  \defstringchar^^d4\defstringchar^^d5\defstringchar^^d6\defstringchar^^d7%
+  \defstringchar^^d8\defstringchar^^d9\defstringchar^^da\defstringchar^^db%
+  \defstringchar^^dc\defstringchar^^dd\defstringchar^^de\defstringchar^^df%
+  %
+  \defstringchar^^e0\defstringchar^^e1\defstringchar^^e2\defstringchar^^e3%
+  \defstringchar^^e4\defstringchar^^e5\defstringchar^^e6\defstringchar^^e7%
+  \defstringchar^^e8\defstringchar^^e9\defstringchar^^ea\defstringchar^^eb%
+  \defstringchar^^ec\defstringchar^^ed\defstringchar^^ee\defstringchar^^ef%
+  %
+  \defstringchar^^f0\defstringchar^^f1\defstringchar^^f2\defstringchar^^f3%
+  \defstringchar^^f4\defstringchar^^f5\defstringchar^^f6\defstringchar^^f7%
+  \defstringchar^^f8\defstringchar^^f9\defstringchar^^fa\defstringchar^^fb%
+  \defstringchar^^fc\defstringchar^^fd\defstringchar^^fe\defstringchar^^ff%
+}
+
+
+% define all the unicode characters we know about, for the sake of @U.
+\utfeightchardefs
+
+
 % Make non-ASCII characters printable again for compatibility with
 % existing Texinfo documents that may use them, even without declaring a
 % document encoding.
@@ -10008,8 +10273,8 @@ directory should work if nowhere else does.}
 \def\activedoublequote{{\tt\char34}}
 \let"=\activedoublequote
 \catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde
-\chardef\hat=`\^
-\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat
+\chardef\hatchar=`\^
+\catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat
 
 \catcode`\_=\active
 \def_{\ifusingtt\normalunderscore\_}
@@ -10087,12 +10352,15 @@ directory should work if nowhere else does.}
 @gdef@rawbackslash{@let\=@backslashcurfont}
 @gdef@otherbackslash{@let\=@realbackslash}
 
+@gdef@usemathbackslash{@def@backslashcurfont{@math{@backslash}}}
+
 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
 % the literal character `\'.  Also revert - to its normal character, in
 % case the active - from code has slipped in.
 %
 {@catcode`- = @active
  @gdef@normalturnoffactive{%
+   @nonasciistringdefs
    @let-=@normaldash
    @let"=@normaldoublequote
    @let$=@normaldollar %$ font-lock fix
@@ -10161,7 +10429,7 @@ directory should work if nowhere else does.}
 
 @c Local variables:
 @c eval: (add-hook 'write-file-hooks 'time-stamp)
-@c page-delimiter: "^\\\\message"
+@c page-delimiter: "^\\\\message\\|emacs-page"
 @c time-stamp-start: "def\\\\texinfoversion{"
 @c time-stamp-format: "%:y-%02m-%02d.%02H"
 @c time-stamp-end: "}"
index 6646ea50835d5f6b541eb45228749a323da63964..8818e6ec3790f23766a0c844c8b4970bf3093c10 100644 (file)
 /* Define this to 1 if F_DUPFD behavior does not match POSIX */
 #undef FCNTL_DUPFD_BUGGY
 
+/* Define to nothing if C supports flexible array members, and to 1 if it does
+   not. That way, with a declaration like 'struct s { int n; double
+   d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
+   compilers. When computing the size of such an object, don't use 'sizeof
+   (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
+   instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
+   MSVC and with C++ compilers. */
+#undef FLEXIBLE_ARRAY_MEMBER
+
 /* Enable compile-time and run-time bounds-checking, and some warnings,
       without upsetting glibc 2.15+. */
    #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__
    declaration of the second argument to gettimeofday. */
 #undef GETTIMEOFDAY_TIMEZONE
 
+/* Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS and
+   XATTR_NAME_POSIX_ACL_DEFAULT. */
+#undef GETXATTR_WITH_POSIX_ACLS
+
 /* 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
 
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module areadlinkat-with-size shall be considered
+   present. */
+#undef GNULIB_AREADLINKAT_WITH_SIZE
+
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module canonicalize-lgpl shall be considered present. */
 #undef GNULIB_CANONICALIZE_LGPL
 /* enable some gnulib portability checks */
 #undef GNULIB_PORTCHECK
 
+/* Define to 1 if printf and friends should be labeled with attribute
+   "__gnu_printf__" instead of "__printf__" */
+#undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+
 /* Define to 1 to add extern declaration of program_invocation_name to argp.h
    */
 #undef GNULIB_PROGRAM_INVOCATION_NAME
 /* Define to 1 when the gnulib module group-member should be tested. */
 #undef GNULIB_TEST_GROUP_MEMBER
 
-/* Define to 1 when the gnulib module isatty should be tested. */
-#undef GNULIB_TEST_ISATTY
-
 /* Define to 1 when the gnulib module iswblank should be tested. */
 #undef GNULIB_TEST_ISWBLANK
 
 /* Define to 1 when the gnulib module opendir should be tested. */
 #undef GNULIB_TEST_OPENDIR
 
-/* Define to 1 when the gnulib module posix_openpt should be tested. */
-#undef GNULIB_TEST_POSIX_OPENPT
-
-/* Define to 1 when the gnulib module ptsname should be tested. */
-#undef GNULIB_TEST_PTSNAME
-
-/* Define to 1 when the gnulib module ptsname_r should be tested. */
-#undef GNULIB_TEST_PTSNAME_R
-
 /* Define to 1 when the gnulib module raise should be tested. */
 #undef GNULIB_TEST_RAISE
 
 /* Define to 1 when the gnulib module symlinkat should be tested. */
 #undef GNULIB_TEST_SYMLINKAT
 
+/* Define to 1 when the gnulib module timegm should be tested. */
+#undef GNULIB_TEST_TIMEGM
+
 /* Define to 1 when the gnulib module time_r should be tested. */
 #undef GNULIB_TEST_TIME_R
 
-/* Define to 1 when the gnulib module ttyname_r should be tested. */
-#undef GNULIB_TEST_TTYNAME_R
+/* Define to 1 when the gnulib module time_rz should be tested. */
+#undef GNULIB_TEST_TIME_RZ
 
 /* 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 unlockpt should be tested. */
-#undef GNULIB_TEST_UNLOCKPT
-
 /* Define to 1 when the gnulib module unsetenv should be tested. */
 #undef GNULIB_TEST_UNSETENV
 
    */
 #undef HAVE_ALLOCA_H
 
-/* define to 1 if we have <attr/xattr.h> header */
+/* Define to 1 if you have the <attr/xattr.h> header file. */
 #undef HAVE_ATTR_XATTR_H
 
 /* Define to 1 if you have the <bp-sym.h> header file. */
    don't. */
 #undef HAVE_DECL_GETDELIM
 
+/* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you
+   don't. */
+#undef HAVE_DECL_GETDTABLESIZE
+
 /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
    */
 #undef HAVE_DECL_GETENV
    don't. */
 #undef HAVE_DECL_TOWLOWER
 
-/* Define to 1 if you have the declaration of `ttyname_r', and to 0 if you
-   don't. */
-#undef HAVE_DECL_TTYNAME_R
-
 /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
    */
 #undef HAVE_DECL_TZNAME
 /* Define to 1 if you have the <features.h> 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
 
 /* Define to 1 if you have the `getcwd' function. */
 #undef HAVE_GETCWD
 
+/* Define to 1 if getcwd works, but with shorter paths than is generally
+   tested with the replacement. */
+#undef HAVE_GETCWD_SHORTER
+
 /* Define to 1 if you have the `getdelim' function. */
 #undef HAVE_GETDELIM
 
 /* 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 `grantpt' function. */
-#undef HAVE_GRANTPT
-
 /* Define to 1 if you have the <grp.h> header file. */
 #undef HAVE_GRP_H
 
 /* 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 `attr' library (-lattr). */
-#undef HAVE_LIBATTR
-
 /* Define to 1 if you have the <libgen.h> header file. */
 #undef HAVE_LIBGEN_H
 
 /* Define to 1 if you have the <linux/fd.h> 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 <locale.h> header file. */
 #undef HAVE_LOCALE_H
 
 /* 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
 
 /* Define to 1 if you have the `nl_langinfo' function. */
 #undef HAVE_NL_LANGINFO
 
-/* Define to 1 if libc includes obstacks. */
+/* Define to 1 if the system has obstacks that work with any size object. */
 #undef HAVE_OBSTACK
 
 /* Define to 1 if you have the `openat' function. */
 /* Define to 1 if you have the `pipe' function. */
 #undef HAVE_PIPE
 
-/* Define if the ttyname_r function has a POSIX compliant declaration. */
-#undef HAVE_POSIXDECL_TTYNAME_R
-
 /* Define when we have working POSIX acls */
 #undef HAVE_POSIX_ACLS
 
-/* Define to 1 if you have the `posix_openpt' function. */
-#undef HAVE_POSIX_OPENPT
-
 /* Define to 1 if you have the <priv.h> header file. */
 #undef HAVE_PRIV_H
 
 /* Define if program_invocation_short_name is defined */
 #undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
 
-/* Define to 1 if you have the `ptsname' function. */
-#undef HAVE_PTSNAME
-
-/* Define to 1 if you have the `ptsname_r' function. */
-#undef HAVE_PTSNAME_R
-
 /* Define to 1 if you have the <pwd.h> header file. */
 #undef HAVE_PWD_H
 
 /* Define to 1 if you have the `renameat' function. */
 #undef HAVE_RENAMEAT
 
-/* Define to 1 if you have the `revoke' function. */
-#undef HAVE_REVOKE
-
 /* Define to 1 if you have the `rewinddir' function. */
 #undef HAVE_REWINDDIR
 
 /* 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 <sgtty.h> header file. */
 #undef HAVE_SGTTY_H
 
 /* Define to 1 if you have the <sys/wait.h> header file. */
 #undef HAVE_SYS_WAIT_H
 
-/* define to 1 if we have <sys/xattr.h> header */
+/* Define to 1 if you have the <sys/xattr.h> header file. */
 #undef HAVE_SYS_XATTR_H
 
+/* Define to 1 if you have the `timegm' function. */
+#undef HAVE_TIMEGM
+
+/* Define to 1 if the system has the type `timezone_t'. */
+#undef HAVE_TIMEZONE_T
+
 /* Define if struct tm has the tm_gmtoff member. */
 #undef HAVE_TM_GMTOFF
 
 /* Define to 1 if you have the `tsearch' function. */
 #undef HAVE_TSEARCH
 
-/* Define to 1 if you have the `ttyname' function. */
-#undef HAVE_TTYNAME
-
-/* Define to 1 if you have the `ttyname_r' function. */
-#undef HAVE_TTYNAME_R
-
 /* Define to 1 if you don't have `tm_zone' but do have the external array
    `tzname'. */
 #undef HAVE_TZNAME
 /* Define to 1 if you have the `unlinkat' function. */
 #undef HAVE_UNLINKAT
 
-/* Define to 1 if you have the `unlockpt' function. */
-#undef HAVE_UNLOCKPT
-
 /* 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. */
 /* Define as const if the declaration of iconv() needs const. */
 #undef ICONV_CONST
 
-/* Define to 1 if isatty() may fail without setting errno. */
-#undef ISATTY_FAILS_WITHOUT_SETTING_ERRNO
+/* Define to 1 if linkat can create hardlinks to symlinks */
+#undef LINKAT_SYMLINK_NOTSUP
 
 /* Define to 1 if linkat fails to recognize a trailing slash. */
 #undef LINKAT_TRAILING_SLASH_BUG
 /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
 #undef MAP_ANONYMOUS
 
+/* Define if the mbrtowc function does not return (size_t) -2 for empty input.
+   */
+#undef MBRTOWC_EMPTY_INPUT_BUG
+
 /* Define if the mbrtowc function has the NULL pwc argument bug. */
 #undef MBRTOWC_NULL_ARG1_BUG
 
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
+/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
 /* Enable threading extensions on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
    '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 problematic Apple configurations.
-   OS X 10.8 and earlier mishandle it; see, e.g.,
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions.  This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
+
    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
    for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
-   Perhaps Apple will fix this some day.  */
-#if (defined __APPLE__ \
+   Assume DragonFly and FreeBSD will be similar.  */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
      && (defined __header_inline \
          ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
             && ! defined __clang__) \
              && (defined __GNUC__ || defined __cplusplus)) \
             || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
                 && defined __GNUC__ && ! defined __cplusplus))))
-# define _GL_EXTERN_INLINE_APPLE_BUG
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
 #endif
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
          && !(defined __SUNPRO_C && __STDC__))) \
-     && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
 # define _GL_EXTERN_INLINE_IN_USE
 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
-       && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
 # define _GL_EXTERN_INLINE static _GL_UNUSED
 #endif
 
-#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 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
-     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.  */
 # define _GL_INLINE_HEADER_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
 /* Type of minor device numbers. */
 #undef minor_t
 
+/* Define to the real name of the mktime_internal function. */
+#undef mktime_internal
+
 /* Define to `int' if <sys/types.h> does not define. */
 #undef mode_t
 
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
index cfdd721ed43049ae2ef97cb8b4bed2448273c6a2..aacbeffd20f78484736688a2208b0ee1c68bb900 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU tar 1.28.
+# Generated by GNU Autoconf 2.69 for GNU tar 1.29.
 #
 # Report bugs to <bug-tar@gnu.org>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU tar'
 PACKAGE_TARNAME='tar'
-PACKAGE_VERSION='1.28'
-PACKAGE_STRING='GNU tar 1.28'
+PACKAGE_VERSION='1.29'
+PACKAGE_STRING='GNU tar 1.29'
 PACKAGE_BUGREPORT='bug-tar@gnu.org'
 PACKAGE_URL='http://www.gnu.org/software/tar/'
 
@@ -661,10 +661,6 @@ DEFAULT_ARCHIVE
 DEFAULT_ARCHIVE_FORMAT
 RSH
 LIBOBJS
-TAR_COND_GRANTPT_FALSE
-TAR_COND_GRANTPT_TRUE
-TAR_LIB_ATTR_FALSE
-TAR_LIB_ATTR_TRUE
 TAR_COND_XATTR_H_FALSE
 TAR_COND_XATTR_H_TRUE
 GNULIB_TEST_WARN_CFLAGS
@@ -690,6 +686,7 @@ LIBUNISTRING_UNITYPES_H
 HAVE_UNISTD_H
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H
 NEXT_UNISTD_H
+UNISTD_H_DEFINES_STRUCT_TIMESPEC
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC
 TIME_H_DEFINES_STRUCT_TIMESPEC
@@ -746,8 +743,6 @@ 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
@@ -762,6 +757,7 @@ HAVE_TIMEGM
 HAVE_STRPTIME
 HAVE_NANOSLEEP
 HAVE_DECL_LOCALTIME_R
+GNULIB_TIME_RZ
 GNULIB_TIME_R
 GNULIB_TIMEGM
 GNULIB_STRPTIME
@@ -852,6 +848,7 @@ GL_GENERATE_STDDEF_H_FALSE
 GL_GENERATE_STDDEF_H_TRUE
 STDDEF_H
 HAVE_WCHAR_T
+HAVE_MAX_ALIGN_T
 REPLACE_NULL
 REPLACE_STRUCT_LCONV
 REPLACE_DUPLOCALE
@@ -938,6 +935,7 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H
 NEXT_SYS_TIME_H
 REPLACE_STRUCT_TIMEVAL
 REPLACE_GETTIMEOFDAY
+HAVE_TIMEZONE_T
 HAVE_SYS_TIME_H
 HAVE_STRUCT_TIMEVAL
 HAVE_GETTIMEOFDAY
@@ -1065,6 +1063,7 @@ GL_GENERATE_FLOAT_H_TRUE
 FLOAT_H
 NEXT_AS_FIRST_DIRECTIVE_FLOAT_H
 NEXT_FLOAT_H
+LIB_HAS_ACL
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H
 NEXT_FCNTL_H
 REPLACE_OPENAT
@@ -1162,9 +1161,11 @@ REPLACE_USLEEP
 REPLACE_UNLINKAT
 REPLACE_UNLINK
 REPLACE_TTYNAME_R
+REPLACE_SYMLINKAT
 REPLACE_SYMLINK
 REPLACE_SLEEP
 REPLACE_RMDIR
+REPLACE_READLINKAT
 REPLACE_READLINK
 REPLACE_READ
 REPLACE_PWRITE
@@ -1283,6 +1284,7 @@ REPLACE_SETENV
 REPLACE_REALPATH
 REPLACE_REALLOC
 REPLACE_RANDOM_R
+REPLACE_QSORT_R
 REPLACE_PUTENV
 REPLACE_PTSNAME_R
 REPLACE_PTSNAME
@@ -1334,6 +1336,7 @@ GNULIB_REALPATH
 GNULIB_REALLOC_POSIX
 GNULIB_RANDOM_R
 GNULIB_RANDOM
+GNULIB_QSORT_R
 GNULIB_PUTENV
 GNULIB_PTSNAME_R
 GNULIB_PTSNAME
@@ -1456,6 +1459,8 @@ GL_GENERATE_ALLOCA_H_FALSE
 GL_GENERATE_ALLOCA_H_TRUE
 ALLOCA_H
 ALLOCA
+USE_ACL
+LIB_ACL
 GL_COND_LIBTOOL_FALSE
 GL_COND_LIBTOOL_TRUE
 ac_ct_AR
@@ -2136,7 +2141,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.28 to adapt to many kinds of systems.
+\`configure' configures GNU tar 1.29 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2206,7 +2211,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU tar 1.28:";;
+     short | recursive ) echo "Configuration of GNU tar 1.29:";;
    esac
   cat <<\_ACEOF
 
@@ -2356,7 +2361,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU tar configure 1.28
+GNU tar configure 1.29
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3065,7 +3070,7 @@ 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.28, which was
+It was created by GNU tar $as_me 1.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3362,6 +3367,7 @@ 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 " fchmod"
 as_fn_append ac_func_list " flockfile"
 as_fn_append ac_func_list " funlockfile"
 as_fn_append ac_header_list " features.h"
@@ -3425,10 +3431,7 @@ 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_func_list " posix_openpt"
 as_fn_append ac_header_list " priv.h"
-as_fn_append ac_func_list " ptsname_r"
-as_fn_append ac_func_list " fchmod"
 as_fn_append ac_header_list " malloc.h"
 as_fn_append ac_func_list " renameat"
 as_fn_append ac_func_list " secure_getenv"
@@ -3445,6 +3448,7 @@ 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 " timegm"
 as_fn_append ac_func_list " pipe"
 as_fn_append ac_func_list " unlinkat"
 as_fn_append ac_header_list " utime.h"
@@ -3461,7 +3465,6 @@ 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 " fsync"
-as_fn_append ac_func_list " grantpt"
 gt_needs="$gt_needs need-formatstring-macros"
 # Check that the precious variables saved in the cache have kept the same
 # value.
@@ -4050,7 +4053,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='tar'
- VERSION='1.28'
+ VERSION='1.29'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6164,12 +6167,12 @@ else
 fi
 
       if test -z "$ARFLAGS"; then
-        ARFLAGS='cru'
+        ARFLAGS='cr'
       fi
     fi
   else
     if test -z "$ARFLAGS"; then
-      ARFLAGS='cru'
+      ARFLAGS='cr'
     fi
   fi
 
@@ -6465,6 +6468,8 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
 
   $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
 
+  $as_echo "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
+
   $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
 
   $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
@@ -6798,15 +6803,19 @@ fi
 
 
   # Code from module absolute-header:
-  # Code from module acl:
+  # Code from module acl-permissions:
+  # Code from module alignof:
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module allocator:
   # Code from module areadlink:
+  # Code from module areadlink-with-size:
   # Code from module areadlinkat:
+  # Code from module areadlinkat-with-size:
   # Code from module argmatch:
   # Code from module argp:
   # Code from module argp-version-etc:
+  # Code from module assure:
   # Code from module at-internal:
   # Code from module backupfile:
   # Code from module bitrotate:
@@ -6854,9 +6863,11 @@ fi
   # Code from module fd-hook:
   # Code from module fdopendir:
   # Code from module fdutimensat:
+  # Code from module file-has-acl:
   # Code from module fileblocks:
   # Code from module filename:
   # Code from module filenamecat-lgpl:
+  # Code from module flexmember:
   # Code from module float:
   # Code from module fnmatch:
   # Code from module fnmatch-gnu:
@@ -6892,7 +6903,6 @@ fi
   # Code from module inttostr:
   # Code from module inttypes:
   # Code from module inttypes-incomplete:
-  # Code from module isatty:
   # Code from module iswblank:
   # Code from module langinfo:
   # Code from module largefile:
@@ -6927,6 +6937,7 @@ fi
   # Code from module mkfifoat:
   # Code from module mknod:
   # Code from module mktime:
+  # Code from module mktime-internal:
   # Code from module modechange:
   # Code from module msvc-inval:
   # Code from module msvc-nothrow:
@@ -6941,12 +6952,8 @@ fi
   # Code from module opendir:
   # Code from module parse-datetime:
   # Code from module pathmax:
-  # Code from module posix_openpt:
   # Code from module priv-set:
   # Code from module progname:
-  # Code from module ptsname:
-  # Code from module ptsname_r:
-  # Code from module qacl:
   # Code from module quote:
   # Code from module quotearg:
   # Code from module quotearg-simple:
@@ -7025,8 +7032,10 @@ fi
   # Code from module tempname:
   # Code from module time:
   # Code from module time_r:
+  # Code from module time_rz:
+  # Code from module timegm:
   # Code from module timespec:
-  # Code from module ttyname_r:
+  # Code from module timespec-sub:
   # Code from module unistd:
   # Code from module unistd-safer:
   # Code from module unitypes:
@@ -7036,7 +7045,6 @@ fi
   # Code from module unlinkat:
   # Code from module unlinkdir:
   # Code from module unlocked-io:
-  # Code from module unlockpt:
   # Code from module unsetenv:
   # Code from module utimens:
   # Code from module utimensat:
@@ -7809,6 +7817,33 @@ $as_echo "#define ssize_t int" >>confdefs.h
           LIBC_FATAL_STDERR_=1
   export LIBC_FATAL_STDERR_
 
+
+  gl_need_lib_has_acl=
+  # Check whether --enable-acl was given.
+if test "${enable_acl+set}" = set; then :
+  enableval=$enable_acl;
+else
+  enable_acl=auto
+fi
+
+
+
+
+
+  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 `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
 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 :
 
@@ -8020,17 +8055,19 @@ else
    for ac_kw in __restrict __restrict__ _Restrict restrict; do
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-typedef int * int_ptr;
-       int foo (int_ptr $ac_kw ip) {
-       return ip[0];
-       }
+typedef int *int_ptr;
+          int foo (int_ptr $ac_kw ip) { return ip[0]; }
+          int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+          int bar (int ip[$ac_kw]) { return ip[0]; }
+
 int
 main ()
 {
 int s[1];
-       int * $ac_kw t = s;
-       t[0] = 0;
-       return foo(t)
+          int *$ac_kw t = s;
+          t[0] = 0;
+          return foo (t) + bar (t);
+
   ;
   return 0;
 }
@@ -8202,21 +8239,6 @@ _ACEOF
 
 
 
-  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 `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-
 
 
 
@@ -8757,6 +8779,7 @@ $as_echo "$gt_cv_locale_fr" >&6; }
   GNULIB_PTSNAME=0;
   GNULIB_PTSNAME_R=0;
   GNULIB_PUTENV=0;
+  GNULIB_QSORT_R=0;
   GNULIB_RANDOM=0;
   GNULIB_RANDOM_R=0;
   GNULIB_REALLOC_POSIX=0;
@@ -8808,6 +8831,7 @@ $as_echo "$gt_cv_locale_fr" >&6; }
   REPLACE_PTSNAME=0;
   REPLACE_PTSNAME_R=0;
   REPLACE_PUTENV=0;
+  REPLACE_QSORT_R=0;
   REPLACE_RANDOM_R=0;
   REPLACE_REALLOC=0;
   REPLACE_REALPATH=0;
@@ -9178,9 +9202,11 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h
   REPLACE_PWRITE=0;
   REPLACE_READ=0;
   REPLACE_READLINK=0;
+  REPLACE_READLINKAT=0;
   REPLACE_RMDIR=0;
   REPLACE_SLEEP=0;
   REPLACE_SYMLINK=0;
+  REPLACE_SYMLINKAT=0;
   REPLACE_TTYNAME_R=0;
   REPLACE_UNLINK=0;
   REPLACE_UNLINKAT=0;
@@ -11035,14 +11061,15 @@ if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then :
 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 :
+     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
+          *-gnu*)
+            # Guess yes on glibc systems.
+            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
@@ -11052,10 +11079,12 @@ 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;
+            if (symlink ("conftest.file", "conftest.sym") != 0)
+              return 1;
+            /* 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;
@@ -11070,11 +11099,6 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-     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
@@ -11224,6 +11248,17 @@ _ACEOF
 
 
 
+ac_fn_c_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default"
+if test "x$ac_cv_have_decl_getdtablesize" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETDTABLESIZE $ac_have_decl
+_ACEOF
+
 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
@@ -11876,6 +11911,7 @@ _ACEOF
     HAVE_GETTIMEOFDAY=1;
   HAVE_STRUCT_TIMEVAL=1;
   HAVE_SYS_TIME_H=1;
+  HAVE_TIMEZONE_T=0;
   REPLACE_GETTIMEOFDAY=0;
   REPLACE_STRUCT_TIMEVAL=0;
 
@@ -12125,48 +12161,29 @@ $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
-  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
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* 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));
+unsigned long long int ull = 18446744073709551615ULL;
+           typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1
+                          ? 1 : -1)];
+          int i = 63;
+int
+main ()
+{
+unsigned long long int ullmax = 18446744073709551615ull;
+           return (ull << 63 | ull >> 63 | ull << i | ull >> i
+                   | ullmax / ull | ullmax % ull);
   ;
   return 0;
 }
-
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-
+  ac_cv_type_unsigned_long_long_int=yes
 else
   ac_cv_type_unsigned_long_long_int=no
 fi
 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; }
@@ -13714,6 +13731,7 @@ $as_echo "$ac_cv_gnu_library_2_1" >&6; }
 
 
     REPLACE_NULL=0;
+  HAVE_MAX_ALIGN_T=1;
   HAVE_WCHAR_T=1;
 
 
@@ -13753,6 +13771,15 @@ $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
 
 
   STDDEF_H=
+  ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include <stddef.h>
+
+"
+if test "x$ac_cv_type_max_align_t" = xyes; then :
+
+else
+  HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h
+fi
+
   if test $gt_cv_c_wchar_t = no; then
     HAVE_WCHAR_T=0
     STDDEF_H=stddef.h
@@ -14646,6 +14673,7 @@ _ACEOF
   GNULIB_STRPTIME=0;
   GNULIB_TIMEGM=0;
   GNULIB_TIME_R=0;
+  GNULIB_TIME_RZ=0;
     HAVE_DECL_LOCALTIME_R=1;
   HAVE_NANOSLEEP=1;
   HAVE_STRPTIME=1;
 
 
 
-
-
-
-
-
-
   GNULIB_PTHREAD_SIGMASK=0;
   GNULIB_RAISE=0;
   GNULIB_SIGNAL_H_SIGPIPE=0;
@@ -15120,7 +15142,7 @@ else
                                  # 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[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";;
@@ -15621,6 +15643,7 @@ $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
+  UNISTD_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 "$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
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <unistd.h>" >&5
+$as_echo_n "checking for struct timespec in <unistd.h>... " >&6; }
+if ${gl_cv_sys_struct_timespec_in_unistd_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+
+int
+main ()
+{
+static struct timespec x; x.tv_sec = x.tv_nsec;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_sys_struct_timespec_in_unistd_h=yes
+else
+  gl_cv_sys_struct_timespec_in_unistd_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_unistd_h" >&5
+$as_echo "$gl_cv_sys_struct_timespec_in_unistd_h" >&6; }
+        if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then
+          UNISTD_H_DEFINES_STRUCT_TIMESPEC=1
+        fi
       fi
     fi
   fi
@@ -15699,6 +15752,7 @@ $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
 
 
 
+
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_time_h='<'time.h'>'
      else
@@ -15766,16 +15820,7 @@ $as_echo "$gl_cv_next_time_h" >&6; }
 
 
 
-ac_fn_c_check_decl "$LINENO" "ttyname_r" "ac_cv_have_decl_ttyname_r" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ttyname_r" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_TTYNAME_R $ac_have_decl
-_ACEOF
 
 
 
   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
-
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#if defined __GNUC__ || defined _AIX || defined _MSC_VER
-        Need own alloca
-#endif
 
+  LIB_ACL=
+  use_acl=0
+  if test "$enable_acl" != no; 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
-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*
 
+done
 
-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_header_sys_acl_h = yes; then
+      ac_save_LIBS=$LIBS
 
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+                  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.  */
 
-      ALLOCA_H=alloca.h
-    else
-                  ALLOCA_H=
-    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 acl_get_file ();
+int
+main ()
+{
+return acl_get_file ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' acl pacl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
   else
-    ALLOCA_H=alloca.h
+    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 :
 
-   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=
+  ac_cv_search_acl_get_file=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_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
 
+fi
+done
 
+           # 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
+  gl_cv_func_working_acl_get_file=no
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+           #include <sys/acl.h>
+           #include <errno.h>
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_AREADLINKAT 1
-_ACEOF
+int
+main ()
+{
+if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT)
+              return 1;
+            return 0;
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if test $cross_compiling = yes; then
+          gl_cv_func_working_acl_get_file="guessing yes"
+        elif ./conftest$ac_exeext; then
+          gl_cv_func_working_acl_get_file=yes
+        fi
+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_func_working_acl_get_file" >&5
+$as_echo "$gl_cv_func_working_acl_get_file" >&6; }
+  if test "$gl_cv_func_working_acl_get_file" != no; 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
 
+fi
 
+done
 
 
 
-  ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
-"
-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 test $ac_have_decl = 1; then :
 
-else
 
-$as_echo "#define GNULIB_PROGRAM_INVOCATION_NAME 1" >>confdefs.h
 
-fi
 
-  ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
-"
-if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl
+  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
-if test $ac_have_decl = 1; then :
 
 else
 
-$as_echo "#define GNULIB_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h
+    gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
 
 fi
+done
 
 
-  # 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; }
+             { $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 confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <argp.h>
+#include <sys/types.h>
+#include <sys/acl.h>
+int type = ACL_FIRST_ENTRY;
 int
 main ()
 {
-program_invocation_name = "test";
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-$as_echo "#define HAVE_PROGRAM_INVOCATION_NAME 1" >>confdefs.h
-
-                  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_acl_ACL_FIRST_ENTRY=yes
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  gl_cv_acl_ACL_FIRST_ENTRY=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:${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 "$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; }
+$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 <argp.h>
+#include <sys/types.h>
+#include <sys/acl.h>
+int type = ACL_TYPE_EXTENDED;
 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; }
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_acl_ACL_TYPE_EXTENDED=yes
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  gl_cv_acl_ACL_TYPE_EXTENDED=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:${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
 
+$as_echo "#define HAVE_ACL_TYPE_EXTENDED 1" >>confdefs.h
 
+             fi
+           else
+             LIB_ACL=
+           fi
 
+fi
 
+      fi
 
+            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
 
+        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
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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"
+#endif
+char acl_trivial ();
+int
+main ()
+{
+return acl_trivial ();
+  ;
+  return 0;
+}
+_ACEOF
+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 :
 
+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
 
+fi
 
+          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
 
+            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_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 <sys/types.h>
+"
+if test "x$ac_cv_header_aclv_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_ACLV_H 1
+_ACEOF
 
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_error:2:c-format"
+fi
 
+done
 
+      fi
 
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_failure:4:c-format"
+            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
+
+fi
+done
+
+        if test $ac_cv_func_aclsort = yes; then
+          use_acl=1
+        fi
+      fi
+
+      LIBS=$ac_save_LIBS
+    fi
+
+    if test "$enable_acl$use_acl" = yes0; then
+      as_fn_error $? "ACLs enabled but support not detected" "$LINENO" 5
+    elif test "$enable_acl$use_acl" = auto0; 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
+  test $gl_need_lib_has_acl && LIB_HAS_ACL=$LIB_ACL
+
+
+cat >>confdefs.h <<_ACEOF
+#define USE_ACL $use_acl
+_ACEOF
+
+  USE_ACL=$use_acl
+
+
+
+
+  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
+
+      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:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
+$as_echo "$gl_cv_rpl_alloca" >&6; }
+    if test $gl_cv_rpl_alloca = yes; then
+
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+
+      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
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_AREADLINKAT_WITH_SIZE 1
+_ACEOF
+
+
+
+
+
+
+
+  ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
+"
+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 test $ac_have_decl = 1; then :
+
+else
+
+$as_echo "#define GNULIB_PROGRAM_INVOCATION_NAME 1" >>confdefs.h
+
+fi
+
+  ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
+"
+if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl
+_ACEOF
+if test $ac_have_decl = 1; then :
+
+else
+
+$as_echo "#define GNULIB_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h
+
+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:${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.  */
+#include <argp.h>
+int
+main ()
+{
+program_invocation_name = "test";
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+$as_echo "#define HAVE_PROGRAM_INVOCATION_NAME 1" >>confdefs.h
+
+                  { $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
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+  { $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 <argp.h>
+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
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    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"
 
 
 
@@ -17856,49 +18343,66 @@ else
              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.
+           aix* | freebsd*)
+                   # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) 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" ;;
+           *-android*) # implemented using dup3(), which fails if oldfd == newfd
+             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 <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
+         #include <errno.h>
+             #include <fcntl.h>
+             #include <limits.h>
+             #include <sys/resource.h>
+             #include <unistd.h>
+             #ifndef RLIM_SAVED_CUR
+             # define RLIM_SAVED_CUR RLIM_INFINITY
+             #endif
+             #ifndef RLIM_SAVED_MAX
+             # define RLIM_SAVED_MAX RLIM_INFINITY
+             #endif
+
 int
 main ()
 {
 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 some cygwin core dumps.  */
-            if (dup2 (2, -1) != -1 || errno != EBADF)
-              result |= 32;
-            dup2 (2, 255);
-            dup2 (2, 256);
-            return result;
-
+             int bad_fd = INT_MAX;
+             struct rlimit rlim;
+             if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                 && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                 && rlim.rlim_cur != RLIM_INFINITY
+                 && rlim.rlim_cur != RLIM_SAVED_MAX
+                 && rlim.rlim_cur != RLIM_SAVED_CUR)
+               bad_fd = rlim.rlim_cur;
+             #ifdef FD_CLOEXEC
+               if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+                 result |= 1;
+             #endif
+             if (dup2 (1, 1) != 1)
+               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, bad_fd) == -1 && errno != EBADF)
+               result |= 16;
+             /* Flush out some cygwin core dumps.  */
+             if (dup2 (2, -1) != -1 || errno != EBADF)
+               result |= 32;
+             dup2 (2, 255);
+             dup2 (2, 256);
+             return result;
   ;
   return 0;
 }
@@ -18662,26 +19166,43 @@ if ${gl_cv_func_fcntl_f_dupfd_works+:} 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";;
+  case $host_os in
+            aix* | cygwin* | haiku*)
+               gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
+            *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
           esac
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-#include <fcntl.h>
 #include <errno.h>
+              #include <fcntl.h>
+              #include <limits.h>
+              #include <sys/resource.h>
+              #include <unistd.h>
+              #ifndef RLIM_SAVED_CUR
+              # define RLIM_SAVED_CUR RLIM_INFINITY
+              #endif
+              #ifndef RLIM_SAVED_MAX
+              # define RLIM_SAVED_MAX RLIM_INFINITY
+              #endif
 
 int
 main ()
 {
 int result = 0;
-      if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
-      if (errno != EINVAL) result |= 2;
-      return result;
-
+              int bad_fd = INT_MAX;
+              struct rlimit rlim;
+              if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                  && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                  && rlim.rlim_cur != RLIM_INFINITY
+                  && rlim.rlim_cur != RLIM_SAVED_MAX
+                  && rlim.rlim_cur != RLIM_SAVED_CUR)
+                bad_fd = rlim.rlim_cur;
+              if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
+              if (errno != EINVAL) result |= 2;
+              if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+              if (errno != EINVAL) result |= 8;
+              return result;
   ;
   return 0;
 }
@@ -19078,6 +19599,52 @@ _ACEOF
 
 
 
+  if test "$enable_acl" != no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getxattr with XATTR_NAME_POSIX_ACL macros" >&5
+$as_echo_n "checking for getxattr with XATTR_NAME_POSIX_ACL macros... " >&6; }
+if ${gl_cv_getxattr_with_posix_acls+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gl_cv_getxattr_with_posix_acls=no
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+              #include <sys/xattr.h>
+              #include <linux/xattr.h>
+
+int
+main ()
+{
+ssize_t a = getxattr (".", XATTR_NAME_POSIX_ACL_ACCESS, 0, 0);
+              ssize_t b = getxattr (".", XATTR_NAME_POSIX_ACL_DEFAULT, 0, 0);
+              return a < 0 || b < 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_getxattr_with_posix_acls=yes
+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_getxattr_with_posix_acls" >&5
+$as_echo "$gl_cv_getxattr_with_posix_acls" >&6; }
+  fi
+  if test "$gl_cv_getxattr_with_posix_acls" = yes; then
+    LIB_HAS_ACL=
+
+$as_echo "#define GETXATTR_WITH_POSIX_ACLS 1" >>confdefs.h
+
+  else
+            gl_need_lib_has_acl=1
+    LIB_HAS_ACL=$LIB_ACL
+  fi
+
+
+
+
     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 :
 
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flexible array member" >&5
+$as_echo_n "checking for flexible array member... " >&6; }
+if ${ac_cv_c_flexmember+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+            #include <stdio.h>
+            #include <stddef.h>
+            struct s { int n; double d[]; };
+int
+main ()
+{
+int m = getchar ();
+            struct s *p = malloc (offsetof (struct s, d)
+                                  + m * sizeof (double));
+            p->d[0] = 0.0;
+            return p->d != (double *) NULL;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_flexmember=yes
+else
+  ac_cv_c_flexmember=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5
+$as_echo "$ac_cv_c_flexmember" >&6; }
+  if test $ac_cv_c_flexmember = yes; then
+
+$as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h
+
+  else
+    $as_echo "#define FLEXIBLE_ARRAY_MEMBER 1" >>confdefs.h
+
+  fi
+
+
 
 
   FLOAT_H=
@@ -20227,6 +20836,8 @@ main ()
 
       if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE)
         {
+          struct stat sb;
+
           c = getcwd (buf, PATH_MAX);
           if (!c && errno == ENOENT)
             {
@@ -20243,6 +20854,16 @@ main ()
               fail = 21;
               break;
             }
+
+          /* Our replacement needs to be able to stat() long ../../paths,
+             so generate a path larger than PATH_MAX to check,
+             avoiding the replacement if we can't stat().  */
+          c = getcwd (buf, cwd_len + 1);
+          if (c && !AT_FDCWD && stat (c, &sb) != 0 && is_ENAMETOOLONG (errno))
+            {
+              fail = 32;
+              break;
+            }
         }
 
       if (dotdot_max <= cwd_len - initial_cwd_len)
@@ -20302,6 +20923,7 @@ 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';;
+     32) gl_cv_func_getcwd_path_max='yes, but with shorter paths';;
      *) gl_cv_func_getcwd_path_max=no;;
      esac
 fi
@@ -20500,12 +21122,17 @@ $as_echo "#define HAVE_MINIMALLY_WORKING_GETCWD 1" >>confdefs.h
 
 $as_echo "#define HAVE_PARTLY_WORKING_GETCWD 1" >>confdefs.h
 
+      ;;
+    "yes, but with shorter paths")
+
+$as_echo "#define HAVE_GETCWD_SHORTER 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 \
+     || { case "$gl_cv_func_getcwd_path_max" in *yes*) false;; *) true;; esac; } \
      || test $gl_abort_bug = yes; then
     REPLACE_GETCWD=1
   fi
@@ -20739,7 +21366,9 @@ $as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h
 
 
 
-  if test $ac_cv_func_getdtablesize = yes; then
+
+  if test $ac_cv_func_getdtablesize = yes &&
+     test $ac_cv_have_decl_getdtablesize = yes; then
     # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
     # up to an unchangeable hard limit; all other platforms correctly
     # require setrlimit before getdtablesize() can report a larger value.
@@ -21841,40 +22470,6 @@ $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
 
 
 
-         case $host_os in
-    mingw*) REPLACE_ISATTY=1 ;;
-  esac
-
-  if test $REPLACE_ISATTY = 1; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS isatty.$ac_objext"
-
-    :
-  fi
-
-
-
-
-
-          GNULIB_ISATTY=1
-
-
-
-
-
-$as_echo "#define GNULIB_TEST_ISATTY 1" >>confdefs.h
-
-
-
-
-
 
 
 
@@ -22494,49 +23089,60 @@ _ACEOF
   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 "$as_me:${as_lineno-$LINENO}: checking whether linkat() can link symlinks" >&5
+$as_echo_n "checking whether linkat() can link symlinks... " >&6; }
+if ${gl_cv_func_linkat_nofollow+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  rm -rf conftest.f1 conftest.f2
-       touch conftest.f1
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  rm -rf conftest.l1 conftest.l2
+       ln -s target conftest.l1
+       if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+           darwin*) gl_cv_func_linkat_nofollow="guessing no" ;;
+           *)       gl_cv_func_linkat_nofollow="guessing yes" ;;
+          esac
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
 #include <fcntl.h>
-#include <unistd.h>
-#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 <unistd.h>
 
 int
 main ()
 {
-return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2",
-                    AT_SYMLINK_FOLLOW);
+return linkat (AT_FDCWD, "conftest.l1", AT_FDCWD,
+                                            "conftest.l2", 0);
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_linkat_follow=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_linkat_nofollow=yes
 else
-  gl_cv_func_linkat_follow="need runtime check"
+  gl_cv_func_linkat_nofollow=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-       rm -rf conftest.f1 conftest.f2
+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.l1 conftest.l2
 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}: result: $gl_cv_func_linkat_nofollow" >&5
+$as_echo "$gl_cv_func_linkat_nofollow" >&6; }
+
+    case $gl_cv_func_linkat_nofollow in
+      *no) LINKAT_SYMLINK_NOTSUP=1 ;;
+      *yes) LINKAT_SYMLINK_NOTSUP=0 ;;
+    esac
+
     { $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
+  rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s
        if test "$cross_compiling" = yes; then :
   # Guess yes on glibc systems, no otherwise.
           case "$host_os" in
@@ -22578,6 +23184,16 @@ int result;
               if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/",
                           AT_SYMLINK_FOLLOW) == 0)
                 result |= 8;
+
+              /* On OS X 10.10 a trailing "/" will cause the second path to be
+                 dereferenced, and thus will succeed on a dangling symlink.  */
+              if (symlink ("conftest.e", "conftest.s") == 0)
+                {
+                  if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.s/",
+                      AT_SYMLINK_FOLLOW) == 0)
+                    result |= 16;
+                }
+
               return result;
 
   ;
@@ -22593,7 +23209,7 @@ 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
+       rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_linkat_slash" >&5
 $as_echo "$gl_cv_func_linkat_slash" >&6; }
@@ -22601,7 +23217,13 @@ $as_echo "$gl_cv_func_linkat_slash" >&6; }
       *yes) gl_linkat_slash_bug=0 ;;
       *)    gl_linkat_slash_bug=1 ;;
     esac
-    if test "$gl_cv_func_linkat_follow" != yes \
+
+    case "$gl_cv_func_linkat_nofollow" in
+      *yes) linkat_nofollow=yes ;;
+      *) linkat_nofollow=no ;;
+    esac
+
+    if test "$linkat_nofollow" != yes \
        || test $gl_linkat_slash_bug = 1; then
       REPLACE_LINKAT=1
 
@@ -22609,6 +23231,11 @@ cat >>confdefs.h <<_ACEOF
 #define LINKAT_TRAILING_SLASH_BUG $gl_linkat_slash_bug
 _ACEOF
 
+
+cat >>confdefs.h <<_ACEOF
+#define LINKAT_SYMLINK_NOTSUP $LINKAT_SYMLINK_NOTSUP
+_ACEOF
+
     fi
   fi
 
@@ -22623,8 +23250,6 @@ _ACEOF
 
   gl_LIBOBJS="$gl_LIBOBJS linkat.$ac_objext"
 
-  fi
-  if test $HAVE_LINKAT = 0; then
 
 
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5
 $as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; }
 
+
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works on empty input" >&5
+$as_echo_n "checking whether mbrtowc works on empty input... " >&6; }
+if ${gl_cv_func_mbrtowc_empty_input+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                  case "$host_os" in
+                     # Guess no on AIX and glibc systems.
+        aix* | *-gnu*)
+                    gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+        *)          gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+      esac
+      if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+           #include <wchar.h>
+           static wchar_t wc;
+           static mbstate_t mbs;
+           int
+           main (void)
+           {
+             return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+           }
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_mbrtowc_empty_input=no
+else
+  gl_cv_func_mbrtowc_empty_input=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_mbrtowc_empty_input" >&5
+$as_echo "$gl_cv_func_mbrtowc_empty_input" >&6; }
+
       case "$gl_cv_func_mbrtowc_null_arg1" in
         *yes) ;;
         *)
@@ -23795,6 +24463,14 @@ $as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h
         *)
 $as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h
 
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
+      case "$gl_cv_func_mbrtowc_empty_input" in
+        *yes) ;;
+        *)
+$as_echo "#define MBRTOWC_EMPTY_INPUT_BUG 1" >>confdefs.h
+
            REPLACE_MBRTOWC=1
            ;;
       esac
@@ -25336,6 +26012,35 @@ $as_echo "#define GNULIB_TEST_MKTIME 1" >>confdefs.h
 
 
 
+
+  if test $REPLACE_MKTIME = 0; then
+        ac_fn_c_check_func "$LINENO" "__mktime_internal" "ac_cv_func___mktime_internal"
+if test "x$ac_cv_func___mktime_internal" = xyes; then :
+
+$as_echo "#define mktime_internal __mktime_internal" >>confdefs.h
+
+
+else
+                REPLACE_MKTIME=1
+
+fi
+
+  fi
+
+  if test $REPLACE_MKTIME = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext"
+
+    :
+  fi
+
   :
 
 
@@ -25486,23 +26191,26 @@ $as_echo "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks" >&5
-$as_echo_n "checking for obstacks... " >&6; }
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks that work with any size object" >&5
+$as_echo_n "checking for obstacks that work with any size object... " >&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"
+#include "obstack.h"
+             void *obstack_chunk_alloc (size_t n) { return 0; }
+             void obstack_chunk_free (void *p) { }
+             /* Check that an internal function returns size_t, not int.  */
+             size_t _obstack_memory_used (struct obstack *);
+
 int
 main ()
 {
 struct obstack mem;
-                      #define obstack_chunk_alloc malloc
-                      #define obstack_chunk_free free
-                      obstack_init (&mem);
-                      obstack_free (&mem, 0);
+             obstack_init (&mem);
+             obstack_free (&mem, 0);
+
   ;
   return 0;
 }
@@ -25517,11 +26225,11 @@ rm -f core conftest.err conftest.$ac_objext \
 fi
 { $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
+   if test "$ac_cv_func_obstack" = yes; then
 
 $as_echo "#define HAVE_OBSTACK 1" >>confdefs.h
 
-else
+   else
 
 
 
@@ -25532,7 +26240,7 @@ else
 
   gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext"
 
-fi
+   fi
 
 
 
@@ -25868,43 +26576,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
-
-
-
-
-
-  if test $ac_cv_func_posix_openpt != yes; then
-        HAVE_POSIX_OPENPT=0
-  fi
-
-  if test $HAVE_POSIX_OPENPT = 0; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS posix_openpt.$ac_objext"
-
-  fi
-
-
-
-
-
-          GNULIB_POSIX_OPENPT=1
-
-
-
-
-
-$as_echo "#define GNULIB_TEST_POSIX_OPENPT 1" >>confdefs.h
-
-
-
-
   for ac_func in getppriv
 do :
   ac_fn_c_check_func "$LINENO" "getppriv" "ac_cv_func_getppriv"
@@ -25943,677 +26614,6 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-
-
-
-
-  for ac_func in ptsname
-do :
-  ac_fn_c_check_func "$LINENO" "ptsname" "ac_cv_func_ptsname"
-if test "x$ac_cv_func_ptsname" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_PTSNAME 1
-_ACEOF
-
-fi
-done
-
-  if test $ac_cv_func_ptsname = no; then
-    HAVE_PTSNAME=0
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ptsname sets errno on failure" >&5
-$as_echo_n "checking whether ptsname sets errno on failure... " >&6; }
-if ${gl_cv_func_ptsname_sets_errno+:} 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_ptsname_sets_errno="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_ptsname_sets_errno="guessing no" ;;
-          esac
-
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <errno.h>
-
-int
-main ()
-{
-
-      return ptsname (-1) || !errno;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_ptsname_sets_errno=yes
-else
-  gl_cv_func_ptsname_sets_errno=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_ptsname_sets_errno" >&5
-$as_echo "$gl_cv_func_ptsname_sets_errno" >&6; }
-    case $gl_cv_func_ptsname_sets_errno in
-      *no) REPLACE_PTSNAME=1 ;;
-    esac
-  fi
-
-  if test $HAVE_PTSNAME = 0 || test $REPLACE_PTSNAME = 1; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS ptsname.$ac_objext"
-
-
-  :
-
-  fi
-
-
-
-
-
-          GNULIB_PTSNAME=1
-
-
-
-
-
-$as_echo "#define GNULIB_TEST_PTSNAME 1" >>confdefs.h
-
-
-
-
-
-
-
-
-
-  if test $ac_cv_func_ptsname_r = no; then
-    HAVE_PTSNAME_R=0
-  else
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ptsname_r has the same signature as in glibc" >&5
-$as_echo_n "checking whether ptsname_r has the same signature as in glibc... " >&6; }
-if ${gl_cv_func_ptsname_r_signature_ok+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-              #include <stdlib.h>
-              /* Test whether ptsname_r is declared at all.  */
-              int (*f) (int, char *, size_t) = ptsname_r;
-              /* Test whether it has the same declaration as in glibc.  */
-              #undef ptsname_r
-              extern
-              #ifdef __cplusplus
-              "C"
-              #endif
-              int ptsname_r (int, char *, size_t);
-
-int
-main ()
-{
-return f (0, NULL, 0);
-  ;
-  return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_ptsname_r_signature_ok=yes
-else
-  gl_cv_func_ptsname_r_signature_ok=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_ptsname_r_signature_ok" >&5
-$as_echo "$gl_cv_func_ptsname_r_signature_ok" >&6; }
-    if test $gl_cv_func_ptsname_r_signature_ok = no; then
-      REPLACE_PTSNAME_R=1
-    fi
-  fi
-
-  if test $HAVE_PTSNAME_R = 0 || test $REPLACE_PTSNAME_R = 1; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS ptsname_r.$ac_objext"
-
-
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isatty sets errno when it fails" >&5
-$as_echo_n "checking whether isatty sets errno when it fails... " >&6; }
-if ${gl_cv_func_isatty_sets_errno+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-          irix* | solaris* | mingw*)
-            gl_cv_func_isatty_sets_errno="guessing no";;
-          *)
-            gl_cv_func_isatty_sets_errno="guessing yes";;
-        esac
-
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <errno.h>
-            #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-            # include <io.h>
-            #else
-            # include <unistd.h>
-            #endif
-
-int
-main ()
-{
-errno = 0;
-            isatty (-1);
-            return errno == 0;
-
-  ;
-  return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_isatty_sets_errno=yes
-else
-  gl_cv_func_isatty_sets_errno=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_isatty_sets_errno" >&5
-$as_echo "$gl_cv_func_isatty_sets_errno" >&6; }
-  case "$gl_cv_func_isatty_sets_errno" in
-    *yes) ;;
-    *)
-
-$as_echo "#define ISATTY_FAILS_WITHOUT_SETTING_ERRNO 1" >>confdefs.h
-
-      ;;
-  esac
-
-  fi
-
-
-
-
-
-          GNULIB_PTSNAME_R=1
-
-
-
-
-
-$as_echo "#define GNULIB_TEST_PTSNAME_R 1" >>confdefs.h
-
-
-
-
-  # Check whether --enable-acl was given.
-if test "${enable_acl+set}" = set; then :
-  enableval=$enable_acl;
-else
-  enable_acl=auto
-fi
-
-
-
-  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
-
-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.  */
-
-/* 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 ()
-{
-return acl_get_file ();
-  ;
-  return 0;
-}
-_ACEOF
-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 :
-
-else
-  ac_cv_search_acl_get_file=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_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
-
-fi
-done
-
-           # 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
-  gl_cv_func_working_acl_get_file=no
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-           #include <sys/acl.h>
-           #include <errno.h>
-
-int
-main ()
-{
-if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT)
-              return 1;
-            return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if test $cross_compiling = yes; then
-          gl_cv_func_working_acl_get_file="guessing yes"
-        elif ./conftest$ac_exeext; then
-          gl_cv_func_working_acl_get_file=yes
-        fi
-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_func_working_acl_get_file" >&5
-$as_echo "$gl_cv_func_working_acl_get_file" >&6; }
-  if test "$gl_cv_func_working_acl_get_file" != no; 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
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
-  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
-
-else
-
-    gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
-
-fi
-done
-
-
-             { $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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/acl.h>
-int type = ACL_FIRST_ENTRY;
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_acl_ACL_FIRST_ENTRY=yes
-else
-  gl_cv_acl_ACL_FIRST_ENTRY=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $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 <sys/types.h>
-#include <sys/acl.h>
-int type = ACL_TYPE_EXTENDED;
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_acl_ACL_TYPE_EXTENDED=yes
-else
-  gl_cv_acl_ACL_TYPE_EXTENDED=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $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
-
-$as_echo "#define HAVE_ACL_TYPE_EXTENDED 1" >>confdefs.h
-
-             fi
-           else
-             LIB_ACL=
-           fi
-
-fi
-
-      fi
-
-            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
-
-        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
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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"
-#endif
-char acl_trivial ();
-int
-main ()
-{
-return acl_trivial ();
-  ;
-  return 0;
-}
-_ACEOF
-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 :
-
-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
-
-fi
-
-          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
-
-            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_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 <sys/types.h>
-"
-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
-
-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
-
-
-
       :
 
 
@@ -26924,11 +26924,52 @@ $as_echo "#define GNULIB_TEST_READLINK 1" >>confdefs.h
 
 
 
+
   if test $ac_cv_func_readlinkat = no; then
     HAVE_READLINKAT=0
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlinkat signature is correct" >&5
+$as_echo_n "checking whether readlinkat signature is correct... " >&6; }
+if ${gl_cv_decl_readlinkat_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+             /* Check whether original declaration has correct type.  */
+             ssize_t readlinkat (int, char const *, char *, size_t);
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_decl_readlinkat_works=yes
+else
+  gl_cv_decl_readlinkat_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_readlinkat_works" >&5
+$as_echo "$gl_cv_decl_readlinkat_works" >&6; }
+    # Assume readinkat has the same trailing slash bug as readlink,
+    # as is the case on Mac Os X 10.10
+    case "$gl_cv_func_readlink_works" in
+      *yes)
+        if test "$gl_cv_decl_readlinkat_works" != yes; then
+          REPLACE_READLINKAT=1
+        fi
+        ;;
+      *)
+        REPLACE_READLINKAT=1
+        ;;
+    esac
   fi
 
-  if test $HAVE_READLINKAT = 0; then
+  if test $HAVE_READLINKAT = 0 || test $REPLACE_READLINKAT = 1; then
 
 
 
@@ -29136,8 +29177,12 @@ else
             /* Test _Alignas only on platforms where gnulib can help.  */
             #if \
                 ((defined __cplusplus && 201103 <= __cplusplus) \
-                 || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
-                 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
+                 || (defined __APPLE__ && defined __MACH__ \
+                     ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+                     : __GNUC__) \
+                 || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+                 || __ICC || 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];
 
 
   STDDEF_H=
+  ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include <stddef.h>
+
+"
+if test "x$ac_cv_type_max_align_t" = xyes; then :
+
+else
+  HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h
+fi
+
   if test $gt_cv_c_wchar_t = no; then
     HAVE_WCHAR_T=0
     STDDEF_H=stddef.h
@@ -29520,6 +29574,8 @@ $as_echo "$gl_cv_next_stddef_h" >&6; }
 
 
 
+
+
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_stdio_h='<'stdio.h'>'
      else
@@ -29584,6 +29640,48 @@ $as_echo "$gl_cv_next_stdio_h" >&6; }
 
 
 
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5
+$as_echo_n "checking which flavor of printf attribute matches inttypes macros... " >&6; }
+if ${gl_cv_func_printf_attribute_flavor+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+       #define __STDC_FORMAT_MACROS 1
+       #include <stdio.h>
+       #include <inttypes.h>
+       /* For non-mingw systems, compilation will trivially succeed.
+          For mingw, compilation will succeed for older mingw (system
+          printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+       #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \
+         (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+       extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+       #endif
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_printf_attribute_flavor=system
+else
+  gl_cv_func_printf_attribute_flavor=gnu
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5
+$as_echo "$gl_cv_func_printf_attribute_flavor" >&6; }
+  if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+
+$as_echo "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h
+
+  fi
+
       GNULIB_FSCANF=1
 
 
@@ -30830,9 +30928,64 @@ $as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
 
   if test $ac_cv_func_symlinkat = no; then
     HAVE_SYMLINKAT=0
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlinkat handles trailing slash correctly" >&5
+$as_echo_n "checking whether symlinkat handles trailing slash correctly... " >&6; }
+if ${gl_cv_func_symlinkat_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_symlinkat_works="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_symlinkat_works="guessing no" ;;
+          esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <fcntl.h>
+             #include <unistd.h>
+
+int
+main ()
+{
+int result = 0;
+             if (!symlinkat ("a", AT_FDCWD, "conftest.link/"))
+               result |= 1;
+             if (symlinkat ("conftest.f", AT_FDCWD, "conftest.lnk2"))
+               result |= 2;
+             else if (!symlinkat ("a", AT_FDCWD, "conftest.lnk2/"))
+               result |= 4;
+             return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_symlinkat_works=yes
+else
+  gl_cv_func_symlinkat_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.f conftest.link conftest.lnk2
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlinkat_works" >&5
+$as_echo "$gl_cv_func_symlinkat_works" >&6; }
+    case "$gl_cv_func_symlinkat_works" in
+      *yes) ;;
+      *)
+        REPLACE_SYMLINKAT=1
+        ;;
+    esac
   fi
 
-  if test $HAVE_SYMLINKAT = 0; then
+  if test $HAVE_SYMLINKAT = 0 || test $REPLACE_SYMLINKAT = 1; then
 
 
 
@@ -31255,172 +31408,103 @@ $as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h
 
 
 
-  :
 
 
 
 
 
 
-  if test $ac_cv_have_decl_ttyname_r = no; then
-    HAVE_DECL_TTYNAME_R=0
-  fi
+  ac_fn_c_check_type "$LINENO" "timezone_t" "ac_cv_type_timezone_t" "#include <time.h>
+"
+if test "x$ac_cv_type_timezone_t" = xyes; then :
 
-  for ac_func in ttyname_r
-do :
-  ac_fn_c_check_func "$LINENO" "ttyname_r" "ac_cv_func_ttyname_r"
-if test "x$ac_cv_func_ttyname_r" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_TTYNAME_R 1
+cat >>confdefs.h <<_ACEOF
+#define HAVE_TIMEZONE_T 1
 _ACEOF
 
+
 fi
-done
 
-  if test $ac_cv_func_ttyname_r = no; then
-    HAVE_TTYNAME_R=0
-  else
-    HAVE_TTYNAME_R=1
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ttyname_r is compatible with its POSIX signature" >&5
-$as_echo_n "checking whether ttyname_r is compatible with its POSIX signature... " >&6; }
-if ${gl_cv_func_ttyname_r_posix+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-              #include <unistd.h>
-int
-main ()
-{
-*ttyname_r (0, NULL, 0);
-  ;
-  return 0;
-}
+  if test "$ac_cv_type_timezone_t" = yes; then
+    HAVE_TIMEZONE_T=1
+  fi
 
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_ttyname_r_posix=no
-else
-  gl_cv_func_ttyname_r_posix=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  if test "$HAVE_TIMEZONE_T" = 0; then
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ttyname_r_posix" >&5
-$as_echo "$gl_cv_func_ttyname_r_posix" >&6; }
-    if test $gl_cv_func_ttyname_r_posix = no; then
-      REPLACE_TTYNAME_R=1
-    else
 
-$as_echo "#define HAVE_POSIXDECL_TTYNAME_R 1" >>confdefs.h
 
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ttyname_r works with small buffers" >&5
-$as_echo_n "checking whether ttyname_r works with small buffers... " >&6; }
-if ${gl_cv_func_ttyname_r_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-                              case "$host_os" in
-                      # Guess no on Solaris.
-            solaris*) gl_cv_func_ttyname_r_works="guessing no" ;;
-                      # Guess no on OSF/1.
-            osf*)     gl_cv_func_ttyname_r_works="guessing no" ;;
-                      # Guess yes otherwise.
-            *)        gl_cv_func_ttyname_r_works="guessing yes" ;;
-          esac
-          if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <fcntl.h>
-#include <unistd.h>
-int
-main (void)
-{
-  int result = 0;
-  int fd;
-  char buf[31]; /* use any size < 128 here */
 
-  fd = open ("/dev/tty", O_RDONLY);
-  if (fd < 0)
-    result |= 16;
-  else if (ttyname_r (fd, buf, sizeof (buf)) != 0)
-    result |= 17;
-  else if (ttyname_r (fd, buf, 1) == 0)
-    result |= 18;
-  return result;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_ttyname_r_works=yes
-else
-  case $? in
-               17 | 18) gl_cv_func_ttyname_r_works=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
 
+  gl_LIBOBJS="$gl_LIBOBJS time_rz.$ac_objext"
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ttyname_r_works" >&5
-$as_echo "$gl_cv_func_ttyname_r_works" >&6; }
-      case "$gl_cv_func_ttyname_r_works" in
-        *yes) ;;
-        *) REPLACE_TTYNAME_R=1 ;;
-      esac
-    fi
   fi
 
-  if test $HAVE_TTYNAME_R = 0 || test $REPLACE_TTYNAME_R = 1; then
 
 
 
 
+          GNULIB_TIME_RZ=1
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS ttyname_r.$ac_objext"
+
+$as_echo "#define GNULIB_TEST_TIME_RZ 1" >>confdefs.h
+
+
 
 
-  for ac_func in ttyname
-do :
-  ac_fn_c_check_func "$LINENO" "ttyname" "ac_cv_func_ttyname"
-if test "x$ac_cv_func_ttyname" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_TTYNAME 1
-_ACEOF
 
-fi
-done
 
+  REPLACE_TIMEGM=0
 
+  if test $ac_cv_func_timegm = yes; then
+    if test $gl_cv_func_working_mktime = no; then
+      # Assume that timegm is buggy if mktime is.
+      REPLACE_TIMEGM=1
+    fi
+  else
+    HAVE_TIMEGM=0
   fi
 
+  if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then
+
+
+
 
 
 
 
-          GNULIB_TTYNAME_R=1
 
+  gl_LIBOBJS="$gl_LIBOBJS timegm.$ac_objext"
 
 
+  :
+
+  fi
+
 
 
-$as_echo "#define GNULIB_TEST_TTYNAME_R 1" >>confdefs.h
 
 
+          GNULIB_TIMEGM=1
 
 
 
 
 
+$as_echo "#define GNULIB_TEST_TIMEGM 1" >>confdefs.h
+
+
+
+  :
+
+
+
+
 
 
 
@@ -31576,7 +31660,7 @@ fi
             || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
                  && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
                       || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
                          }
                     }
                }
@@ -31603,7 +31687,7 @@ fi
             || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
                  && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
                       || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
                          }
                     }
                }
@@ -31630,7 +31714,7 @@ fi
             || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
                  && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
                       || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
                          }
                     }
                }
@@ -31847,6 +31931,7 @@ $as_echo "#define GNULIB_TEST_UNLINK 1" >>confdefs.h
         ;;
       *)
         # GNU/Hurd has unlinkat, but it has the same bug as unlink.
+        # Darwin has unlinkat, but it has the same UNLINK_PARENT_BUG.
         if test $REPLACE_UNLINK = 1; then
           REPLACE_UNLINKAT=1
         fi
@@ -31926,66 +32011,6 @@ $as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h
 
 
 
-
-
-
-  for ac_func in unlockpt
-do :
-  ac_fn_c_check_func "$LINENO" "unlockpt" "ac_cv_func_unlockpt"
-if test "x$ac_cv_func_unlockpt" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_UNLOCKPT 1
-_ACEOF
-
-fi
-done
-
-  if test $ac_cv_func_unlockpt = no; then
-    HAVE_UNLOCKPT=0
-  fi
-
-  if test $HAVE_UNLOCKPT = 0; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS unlockpt.$ac_objext"
-
-
-  for ac_func in revoke
-do :
-  ac_fn_c_check_func "$LINENO" "revoke" "ac_cv_func_revoke"
-if test "x$ac_cv_func_revoke" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_REVOKE 1
-_ACEOF
-
-fi
-done
-
-
-  fi
-
-
-
-
-
-          GNULIB_UNLOCKPT=1
-
-
-
-
-
-$as_echo "#define GNULIB_TEST_UNLOCKPT 1" >>confdefs.h
-
-
-
-
-
 
   if test $ac_cv_have_decl_unsetenv = no; then
     HAVE_DECL_UNSETENV=0
@@ -34342,6 +34367,7 @@ fi
   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.
+  nw="$nw -Wstack-protector"
 
 
 
@@ -34451,6 +34477,14 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
   fi
 
   # List all gcc warning categories.
+  # To compare this list to your installed GCC's, run this Bash command:
+  #
+  # comm -3 \
+  #  <(sed -n 's/^  *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \
+  #  <(gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort |
+  #      grep -v -x -f <(
+  #         awk '/^[^#]/ {print ws}' ../build-aux/gcc-warning.spec))
+
   gl_manywarn_set=
   for gl_manywarn_item in \
     -W \
@@ -34458,20 +34492,25 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Waddress \
     -Waggressive-loop-optimizations \
     -Wall \
-    -Warray-bounds \
     -Wattributes \
     -Wbad-function-cast \
+    -Wbool-compare \
     -Wbuiltin-macro-redefined \
     -Wcast-align \
     -Wchar-subscripts \
+    -Wchkp \
     -Wclobbered \
     -Wcomment \
     -Wcomments \
     -Wcoverage-mismatch \
     -Wcpp \
+    -Wdate-time \
     -Wdeprecated \
     -Wdeprecated-declarations \
+    -Wdesignated-init \
     -Wdisabled-optimization \
+    -Wdiscarded-array-qualifiers \
+    -Wdiscarded-qualifiers \
     -Wdiv-by-zero \
     -Wdouble-promotion \
     -Wempty-body \
@@ -34482,6 +34521,7 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wformat-extra-args \
     -Wformat-nonliteral \
     -Wformat-security \
+    -Wformat-signedness \
     -Wformat-y2k \
     -Wformat-zero-length \
     -Wfree-nonheap-object \
@@ -34489,15 +34529,19 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wimplicit \
     -Wimplicit-function-declaration \
     -Wimplicit-int \
+    -Wincompatible-pointer-types \
     -Winit-self \
     -Winline \
+    -Wint-conversion \
     -Wint-to-pointer-cast \
     -Winvalid-memory-model \
     -Winvalid-pch \
     -Wjump-misses-init \
+    -Wlogical-not-parentheses \
     -Wlogical-op \
     -Wmain \
     -Wmaybe-uninitialized \
+    -Wmemset-transposed-args \
     -Wmissing-braces \
     -Wmissing-declarations \
     -Wmissing-field-initializers \
@@ -34508,9 +34552,10 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wnarrowing \
     -Wnested-externs \
     -Wnonnull \
-    -Wnormalized=nfc \
+    -Wodr \
     -Wold-style-declaration \
     -Wold-style-definition \
+    -Wopenmp-simd \
     -Woverflow \
     -Woverlength-strings \
     -Woverride-init \
@@ -34525,6 +34570,9 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wreturn-type \
     -Wsequence-point \
     -Wshadow \
+    -Wshift-count-negative \
+    -Wshift-count-overflow \
+    -Wsizeof-array-argument \
     -Wsizeof-pointer-memaccess \
     -Wstack-protector \
     -Wstrict-aliasing \
@@ -34534,7 +34582,10 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wsuggest-attribute=format \
     -Wsuggest-attribute=noreturn \
     -Wsuggest-attribute=pure \
+    -Wsuggest-final-methods \
+    -Wsuggest-final-types \
     -Wswitch \
+    -Wswitch-bool \
     -Wswitch-default \
     -Wsync-nand \
     -Wsystem-headers \
@@ -34561,13 +34612,27 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wvla \
     -Wvolatile-register-var \
     -Wwrite-strings \
-    -fdiagnostics-show-option \
-    -funit-at-a-time \
     \
     ; do
     gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
   done
 
+  # gcc --help=warnings outputs an unusual form for these options; list
+  # them here so that the above 'comm' command doesn't report a false match.
+  gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2"
+  gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc"
+
+  # These are needed for older GCC versions.
+  if test -n "$GCC"; then
+    case `($CC --version) 2>/dev/null` in
+      'gcc (GCC) '[0-3].* | \
+      'gcc (GCC) '4.[0-7].*)
+        gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option"
+        gl_manywarn_set="$gl_manywarn_set -funit-at-a-time"
+          ;;
+    esac
+  fi
+
   # Disable specific options as needed.
   if test "$gl_cv_cc_nomfi_needed" = yes; then
     gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
@@ -34866,6 +34931,7 @@ fi
 
 
 
+
 $as_echo "#define lint 1" >>confdefs.h
 
 
@@ -34994,41 +35060,6 @@ else
   TAR_COND_XATTR_H_FALSE=
 fi
 
-   if false; then
-  TAR_LIB_ATTR_TRUE=
-  TAR_LIB_ATTR_FALSE='#'
-else
-  TAR_LIB_ATTR_TRUE='#'
-  TAR_LIB_ATTR_FALSE=
-fi
-
-  if test "$ac_cv_header_sys_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_SYS_XATTR_H 1" >>confdefs.h
-
-        if test "$with_xattrs" != no; then
-
-$as_echo "#define HAVE_XATTRS /**/" >>confdefs.h
-
-        fi
-
-fi
-done
-
-  fi
-
-  # If <sys/xattr.h> is not found, then check for <attr/xattr.h>
   if test "$ac_cv_header_sys_xattr_h" != yes; then
     for ac_header in attr/xattr.h
 do :
@@ -35050,13 +35081,20 @@ else
   TAR_COND_XATTR_H_FALSE=
 fi
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
-$as_echo_n "checking for fgetxattr in -lattr... " >&6; }
-if ${ac_cv_lib_attr_fgetxattr+:} false; then :
+  fi
+
+  if test "$with_xattrs" != no; then
+    for i in getxattr  fgetxattr  lgetxattr \
+             setxattr  fsetxattr  lsetxattr \
+             listxattr flistxattr llistxattr
+    do
+      as_ac_Search=`$as_echo "ac_cv_search_$i" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing $i" >&5
+$as_echo_n "checking for library containing $i... " >&6; }
+if eval \${$as_ac_Search+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lattr  $LIBS"
+  ac_func_search_save_LIBS=$LIBS
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -35066,67 +35104,56 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char fgetxattr ();
+char $i ();
 int
 main ()
 {
-return fgetxattr ();
+return $i ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_attr_fgetxattr=yes
-else
-  ac_cv_lib_attr_fgetxattr=no
+for ac_lib in '' attr; 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 conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
-$as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
-if test "x$ac_cv_lib_attr_fgetxattr" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBATTR 1
-_ACEOF
-
-  LIBS="-lattr $LIBS"
-
+    conftest$ac_exeext
+  if eval \${$as_ac_Search+:} false; then :
+  break
 fi
+done
+if eval \${$as_ac_Search+:} false; then :
 
-     if test "$ac_cv_lib_attr_fgetxattr" = yes; then
-  TAR_LIB_ATTR_TRUE=
-  TAR_LIB_ATTR_FALSE='#'
 else
-  TAR_LIB_ATTR_TRUE='#'
-  TAR_LIB_ATTR_FALSE=
+  eval "$as_ac_Search=no"
 fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+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"
 
-    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
+fi
 
-$as_echo "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h
+      eval found=\$ac_cv_search_$i
+      test "$found" = "no" && break
+    done
 
-          if test "$with_xattrs" != no; then
+    if test "$found" != no; then
 
 $as_echo "#define HAVE_XATTRS /**/" >>confdefs.h
 
-          fi
-
-fi
-done
-
     fi
   fi
 
@@ -35135,16 +35162,6 @@ done
 
 
 
-
- if test $ac_cv_func_grantpt = yes; then
-  TAR_COND_GRANTPT_TRUE=
-  TAR_COND_GRANTPT_FALSE='#'
-else
-  TAR_COND_GRANTPT_TRUE='#'
-  TAR_COND_GRANTPT_FALSE=
-fi
-
-
 ac_fn_c_check_decl "$LINENO" "getgrgid" "ac_cv_have_decl_getgrgid" "#include <grp.h>
 "
 if test "x$ac_cv_have_decl_getgrgid" = xyes; then :
@@ -36258,36 +36275,42 @@ else
       if test $am_cv_lib_iconv = yes; then
         LIBS="$LIBS $LIBICONV"
       fi
-      if test "$cross_compiling" = yes; then :
-
-         case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac
-
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <iconv.h>
 #include <string.h>
-int main ()
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+
+int
+main ()
 {
-  int result = 0;
+int result = 0;
   /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
      returns.  */
   {
     iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
     if (cd_utf8_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
           result |= 1;
@@ -36300,14 +36323,14 @@ int main ()
     iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
     if (cd_ascii_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\263";
+        static ICONV_CONST char input[] = "\263";
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
           result |= 2;
@@ -36319,14 +36342,14 @@ int main ()
     iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
     if (cd_88591_to_utf8 != (iconv_t)(-1))
       {
-        static const char input[] = "\304";
+        static ICONV_CONST char input[] = "\304";
         static char buf[2] = { (char)0xDE, (char)0xAD };
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = 1;
         char *outptr = buf;
         size_t outbytesleft = 1;
         size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
           result |= 4;
@@ -36339,14 +36362,14 @@ int main ()
     iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
     if (cd_88591_to_utf8 != (iconv_t)(-1))
       {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
         char buf[50];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if ((int)res > 0)
           result |= 8;
@@ -36366,17 +36389,20 @@ int main ()
       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
     result |= 16;
   return result;
+
+  ;
+  return 0;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
   am_cv_func_iconv_works=yes
-else
-  am_cv_func_iconv_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
 
+        test "$am_cv_func_iconv_works" = no || break
+      done
       LIBS="$am_save_LIBS"
 
 fi
@@ -36572,7 +36598,7 @@ $as_echo "$USE_NLS" >&6; }
 
 
 
-      GETTEXT_MACRO_VERSION=0.18
+      GETTEXT_MACRO_VERSION=0.19
 
 
 
@@ -37125,36 +37151,42 @@ else
       if test $am_cv_lib_iconv = yes; then
         LIBS="$LIBS $LIBICONV"
       fi
-      if test "$cross_compiling" = yes; then :
-
-         case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac
-
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <iconv.h>
 #include <string.h>
-int main ()
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+
+int
+main ()
 {
-  int result = 0;
+int result = 0;
   /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
      returns.  */
   {
     iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
     if (cd_utf8_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
           result |= 1;
@@ -37167,14 +37199,14 @@ int main ()
     iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
     if (cd_ascii_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\263";
+        static ICONV_CONST char input[] = "\263";
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
           result |= 2;
@@ -37186,14 +37218,14 @@ int main ()
     iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
     if (cd_88591_to_utf8 != (iconv_t)(-1))
       {
-        static const char input[] = "\304";
+        static ICONV_CONST char input[] = "\304";
         static char buf[2] = { (char)0xDE, (char)0xAD };
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = 1;
         char *outptr = buf;
         size_t outbytesleft = 1;
         size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
           result |= 4;
@@ -37206,14 +37238,14 @@ int main ()
     iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
     if (cd_88591_to_utf8 != (iconv_t)(-1))
       {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
         char buf[50];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if ((int)res > 0)
           result |= 8;
@@ -37233,17 +37265,20 @@ int main ()
       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
     result |= 16;
   return result;
+
+  ;
+  return 0;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
   am_cv_func_iconv_works=yes
-else
-  am_cv_func_iconv_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
 
+        test "$am_cv_func_iconv_works" = no || break
+      done
       LIBS="$am_save_LIBS"
 
 fi
@@ -38187,22 +38222,10 @@ if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; th
   as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then
-  as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 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
-if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then
-  as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TAR_COND_GRANTPT_TRUE}" && test -z "${TAR_COND_GRANTPT_FALSE}"; then
-  as_fn_error $? "conditional \"TAR_COND_GRANTPT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 
 : "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
@@ -38600,7 +38623,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # 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.28, which was
+This file was extended by GNU tar $as_me 1.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -38668,7 +38691,7 @@ _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.28
+GNU tar config.status 1.29
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index a93c6c072f84c1d101a29428c032eb8a615caa61..50fbae512725d0711fbaeb566c33d0a25740636c 100644 (file)
@@ -1,6 +1,6 @@
 # Configure template for GNU tar.  -*- autoconf -*-
 
-# Copyright 1991, 1994-2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 1991, 1994-2010, 2013-2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -17,7 +17,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_INIT([GNU tar], [1.28], [bug-tar@gnu.org])
+AC_INIT([GNU tar], [1.29], [bug-tar@gnu.org])
 AC_CONFIG_SRCDIR([src/tar.c])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h])
@@ -150,6 +150,7 @@ if test "$gl_gcc_warnings" = yes; then
   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.
+  nw="$nw -Wstack-protector"
 
   gl_MANYWARN_ALL_GCC([ws])
   gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
@@ -160,9 +161,10 @@ if test "$gl_gcc_warnings" = yes; then
   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])
 
@@ -204,8 +206,7 @@ fi
 
 TAR_HEADERS_ATTR_XATTR_H
 
-AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink grantpt])
-AM_CONDITIONAL([TAR_COND_GRANTPT], [test $ac_cv_func_grantpt = yes])
+AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink])
 
 AC_CHECK_DECLS([getgrgid],,, [#include <grp.h>])
 AC_CHECK_DECLS([getpwuid],,, [#include <pwd.h>])
index 299bb0e038fca9fb4f9c305b46541b7703c39864..c615fa0b3ee1f1a881535a8a3566fae1ace237f3 100644 (file)
-# Make the subset of Gnulib that GNU tar needs.
-include gnulib.mk
-AM_CFLAGS += $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)
+## DO NOT EDIT! GENERATED AUTOMATICALLY!
+## Process this file with automake to produce Makefile.in.
+# Copyright (C) 2002-2015 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 <http://www.gnu.org/licenses/>.
+#
+# 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 alloca areadlinkat-with-size argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat file-has-acl fileblocks fnmatch-gnu fprintftime 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 strtoimax strtol strtoul strtoumax symlinkat timespec timespec-sub 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 absolute-header
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
+
+## end   gnulib module absolute-header
+
+## begin gnulib module acl-permissions
+
+libgnu_a_SOURCES += acl-errno-valid.c acl-internal.c    get-permissions.c set-permissions.c
+
+EXTRA_DIST += acl-internal.h acl.h acl_entries.c
+
+EXTRA_libgnu_a_SOURCES += acl_entries.c
+
+## end   gnulib module acl-permissions
+
+## begin gnulib module alignof
+
+
+EXTRA_DIST += alignof.h
+
+## end   gnulib module alignof
+
+## 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 <alloca.h> 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 areadlink-with-size
+
+libgnu_a_SOURCES += areadlink-with-size.c
+
+EXTRA_DIST += areadlink.h
+
+## end   gnulib module areadlink-with-size
+
+## 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 areadlinkat-with-size
+
+libgnu_a_SOURCES += areadlinkat-with-size.c
+
+EXTRA_DIST += areadlink.h at-func.c
+
+EXTRA_libgnu_a_SOURCES += at-func.c
+
+## end   gnulib module areadlinkat-with-size
+
+## 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 assure
+
+
+EXTRA_DIST += assure.h
+
+## end   gnulib module assure
+
+## 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+ or 2.70.
+# 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 RUNSTATEDIR "$(runstatedir)"'; \
+         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 <dirent.h> 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 <errno.h> 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 euidaccess
+
+
+EXTRA_DIST += euidaccess.c
+
+EXTRA_libgnu_a_SOURCES += euidaccess.c
+
+## end   gnulib module euidaccess
+
+## 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 faccessat
+
+
+EXTRA_DIST += at-func.c faccessat.c
+
+EXTRA_libgnu_a_SOURCES += at-func.c faccessat.c
+
+## end   gnulib module faccessat
+
+## 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 <fcntl.h> 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 file-has-acl
+
+libgnu_a_SOURCES += file-has-acl.c
+
+## end   gnulib module file-has-acl
+
+## 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 <float.h> 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 <fnmatch.h> 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 fprintftime
+
+libgnu_a_SOURCES += fprintftime.c
+
+EXTRA_DIST += fprintftime.h
+
+## end   gnulib module fprintftime
+
+## 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 getgroups
+
+
+EXTRA_DIST += getgroups.c
+
+EXTRA_libgnu_a_SOURCES += getgroups.c
+
+## end   gnulib module getgroups
+
+## 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 <getopt.h> 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 <libintl.h> 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 group-member
+
+
+EXTRA_DIST += group-member.c
+
+EXTRA_libgnu_a_SOURCES += group-member.c
+
+## end   gnulib module group-member
+
+## 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 <inttypes.h> 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/@''REPLACE_STRTOUMAX''@/$(REPLACE_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 '/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
+# <langinfo.h> 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 <locale.h> 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 mktime-internal
+
+
+EXTRA_DIST += mktime-internal.h mktime.c
+
+EXTRA_libgnu_a_SOURCES += mktime.c
+
+## end   gnulib module mktime-internal
+
+## 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 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 <signal.h> 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 <stdalign.h> 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 <stdarg.h> 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 <stdbool.h> 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 <stddef.h> 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_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|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 <stdint.h> 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 <stdio.h> 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 <stdlib.h> 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_QSORT_R''@/$(GNULIB_QSORT_R)/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_QSORT_R''@|$(REPLACE_QSORT_R)|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 strftime
+
+libgnu_a_SOURCES += strftime.c
+
+EXTRA_DIST += strftime.h
+
+## end   gnulib module strftime
+
+## begin gnulib module string
+
+BUILT_SOURCES += string.h
+
+# We need the following in order to create <string.h> when the system
+# doesn't have one that works with the given compiler.
+string.h: string.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 <strings.h> 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 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 += strtol.c strtoll.c
+
+EXTRA_libgnu_a_SOURCES += strtol.c strtoll.c
+
+## end   gnulib module strtoll
+
+## 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 <sys/stat.h> 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 <sys/time.h> 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 <sys/types.h> 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 <sysexits.h> 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 <time.h> 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_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/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_TIME_RZ''@/$(GNULIB_TIME_RZ)/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|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
+             -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
+             -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|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 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_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 time_rz
+
+
+EXTRA_DIST += time-internal.h time_rz.c
+
+EXTRA_libgnu_a_SOURCES += time_rz.c
+
+## end   gnulib module time_rz
+
+## begin gnulib module timegm
+
+
+EXTRA_DIST += mktime-internal.h timegm.c
+
+EXTRA_libgnu_a_SOURCES += timegm.c
+
+## end   gnulib module timegm
+
+## begin gnulib module timespec
+
+libgnu_a_SOURCES += timespec.c
+
+EXTRA_DIST += timespec.h
+
+## end   gnulib module timespec
+
+## begin gnulib module timespec-sub
+
+libgnu_a_SOURCES += timespec-sub.c
+
+## end   gnulib module timespec-sub
+
+## 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
+# <unistd.h> 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_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|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_READLINKAT''@|$(REPLACE_READLINKAT)|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_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|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 <wchar.h> 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 <wctype.h> 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; \
+       :
index 03eed58ffaac1a813fa1b0aeaf1feba51d886daf..08ca7aa07c7d1315ede37d188aaa8d64d671fe61 100644 (file)
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 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
@@ -35,7 +35,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=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 faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat fileblocks fnmatch-gnu fprintftime 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 posix_openpt priv-set progname ptsname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtoimax strtol strtoul strtoumax symlinkat timespec unlinkat unlinkdir unlocked-io unlockpt 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 alloca areadlinkat-with-size argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat file-has-acl fileblocks fnmatch-gnu fprintftime 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 strtoimax strtol strtoul strtoumax symlinkat timespec timespec-sub unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
 
 
 
@@ -102,12 +102,11 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(srcdir)/gnulib.mk $(srcdir)/Makefile.in \
-       $(srcdir)/Makefile.am alloca.c parse-datetime.c \
-       $(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap \
-       $(noinst_HEADERS)
 @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_1 = uniwidth/width.c
 subdir = gnu
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am alloca.c \
+       parse-datetime.c $(top_srcdir)/build-aux/depcomp \
+       $(top_srcdir)/build-aux/ylwrap $(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
@@ -133,10 +132,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.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 \
@@ -151,10 +151,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
-       $(top_srcdir)/m4/langinfo_h.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/iswblank.m4 $(top_srcdir)/m4/langinfo_h.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 \
@@ -176,14 +176,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/posix_openpt.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.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/ptsname.m4 \
-       $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.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 \
@@ -219,24 +218,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \
        $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \
        $(top_srcdir)/m4/unistd_h.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/unlockpt.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 \
-       $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \
-       $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \
-       $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
+       $(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 $(top_srcdir)/m4/write.m4 \
+       $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
+       $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
+       $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -250,37 +249,41 @@ am__v_AR_0 = @echo "  AR      " $@;
 am__v_AR_1 = 
 libgnu_a_AR = $(AR) $(ARFLAGS)
 am__DEPENDENCIES_1 =
-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 \
-       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 fprintftime.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 \
+am__libgnu_a_SOURCES_DIST = acl-errno-valid.c acl-internal.c \
+       get-permissions.c set-permissions.c allocator.c areadlink.c \
+       areadlink-with-size.c areadlinkat.c areadlinkat-with-size.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 file-has-acl.c \
+       filenamecat-lgpl.c fprintftime.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 \
+       priv-set.c progname.h progname.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 strftime.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 \
+       tempname.c timespec.c timespec-sub.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 = copy-acl.$(OBJEXT) set-acl.$(OBJEXT) \
-       allocator.$(OBJEXT) areadlink.$(OBJEXT) areadlinkat.$(OBJEXT) \
-       argmatch.$(OBJEXT) argp-ba.$(OBJEXT) argp-eexst.$(OBJEXT) \
+am_libgnu_a_OBJECTS = acl-errno-valid.$(OBJEXT) acl-internal.$(OBJEXT) \
+       get-permissions.$(OBJEXT) set-permissions.$(OBJEXT) \
+       allocator.$(OBJEXT) areadlink.$(OBJEXT) \
+       areadlink-with-size.$(OBJEXT) areadlinkat.$(OBJEXT) \
+       areadlinkat-with-size.$(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) \
@@ -292,23 +295,22 @@ am_libgnu_a_OBJECTS = copy-acl.$(OBJEXT) set-acl.$(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) \
-       fprintftime.$(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) 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) \
+       fdutimensat.$(OBJEXT) file-has-acl.$(OBJEXT) \
+       filenamecat-lgpl.$(OBJEXT) fprintftime.$(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) mbuiter.$(OBJEXT) modechange.$(OBJEXT) \
+       openat-die.$(OBJEXT) parse-datetime.$(OBJEXT) \
+       priv-set.$(OBJEXT) progname.$(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) strftime.$(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) \
+       timespec-sub.$(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) \
@@ -620,6 +622,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
 GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
@@ -679,6 +682,7 @@ 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_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
@@ -831,6 +835,7 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -917,6 +922,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_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -990,6 +996,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
 LIB_ACL = @LIB_ACL@
 LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
 LIB_EACCESS = @LIB_EACCESS@
+LIB_HAS_ACL = @LIB_HAS_ACL@
 LIB_SELINUX = @LIB_SELINUX@
 LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1155,10 +1162,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
 REPLACE_RAISE = @REPLACE_RAISE@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
@@ -1191,6 +1200,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
@@ -1233,6 +1243,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 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@
@@ -1323,49 +1334,47 @@ noinst_LTLIBRARIES =
 # 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 \
-       euidaccess.c exclude.h exitfail.h at-func.c faccessat.c \
-       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 \
-       fprintftime.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 getgroups.c getline.c getopt.c getopt.in.h \
-       getopt1.c getopt_int.h getpagesize.c \
+EXTRA_DIST = acl-internal.h acl.h acl_entries.c alignof.h alloca.c \
+       alloca.in.h allocator.h areadlink.h areadlink.h areadlink.h \
+       at-func.c areadlink.h at-func.c argmatch.h assure.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 euidaccess.c exclude.h \
+       exitfail.h at-func.c faccessat.c 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 fprintftime.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 getgroups.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 \
-       $(top_srcdir)/build-aux/git-log-fix group-member.c hash.h \
-       $(top_srcdir)/build-aux/config.rpath human.h intprops.h \
-       anytostr.c inttostr.h inttypes.in.h isatty.c 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 \
+       $(top_srcdir)/build-aux/gitlog-to-changelog group-member.c \
+       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 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 \
-       posix_openpt.c priv-set.h ptsname.c ptsname_r.c 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 \
+       priv-set.h 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 \
@@ -1379,15 +1388,16 @@ EXTRA_DIST = alloca.c alloca.in.h allocator.h areadlink.h areadlink.h \
        strtoll.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 ttyname_r.c \
-       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 unlockpt.c 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
+       tempname.h time.in.h time_r.c time-internal.h time_rz.c \
+       mktime-internal.h timegm.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
@@ -1434,67 +1444,66 @@ CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = parse-datetime.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 \
+AM_CFLAGS = 
+libgnu_a_SOURCES = acl-errno-valid.c acl-internal.c get-permissions.c \
+       set-permissions.c allocator.c areadlink.c \
+       areadlink-with-size.c areadlinkat.c areadlinkat-with-size.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 file-has-acl.c \
        filenamecat-lgpl.c fprintftime.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 \
+       priv-set.c progname.h progname.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 strftime.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 \
+       tempname.c timespec.c timespec-sub.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 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 \
-       euidaccess.c at-func.c faccessat.c fchdir.c at-func.c \
-       fchmodat.c at-func.c fchownat.c fcntl.c fdopendir.c \
+EXTRA_libgnu_a_SOURCES = acl_entries.c alloca.c at-func.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 euidaccess.c at-func.c faccessat.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 \
        getgroups.c getline.c getopt.c getopt1.c getpagesize.c \
-       gettimeofday.c group-member.c anytostr.c isatty.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 \
+       gettimeofday.c group-member.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 mktime.c msvc-inval.c \
        msvc-nothrow.c nl_langinfo.c obstack.c open.c openat.c \
-       opendir.c posix_openpt.c ptsname.c ptsname_r.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 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 strtoimax.c strtol.c \
-       strtol.c strtoll.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 ttyname_r.c unlink.c at-func.c unlinkat.c \
-       unlockpt.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
+       opendir.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 \
+       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 strtoimax.c strtol.c strtol.c strtoll.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 time_rz.c \
+       timegm.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
 
 # Use this preprocessor expression to decide whether #include_next works.
 # Do not rely on a 'configure'-time test for this, since the expression
@@ -1516,7 +1525,7 @@ all: $(BUILT_SOURCES)
 
 .SUFFIXES:
 .SUFFIXES: .sed .sin .c .o .obj .y
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps)
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -1537,7 +1546,6 @@ 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
@@ -1584,11 +1592,14 @@ distclean-compile:
 
 @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-internal.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-with-size.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlinkat-with-size.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlinkat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argp-ba.Po@am__quote@
@@ -1625,7 +1636,6 @@ distclean-compile:
 @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@
@@ -1660,6 +1670,7 @@ distclean-compile:
 @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)/get-permissions.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@
@@ -1677,7 +1688,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/human.Po@am__quote@
 @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)/isatty.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@
@@ -1722,15 +1732,10 @@ distclean-compile:
 @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)/posix_openpt.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)/ptsname.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptsname_r.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@
@@ -1756,7 +1761,7 @@ distclean-compile:
 @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)/set-permissions.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@
@@ -1785,15 +1790,16 @@ 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)/time_rz.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timegm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec-sub.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttyname_r.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@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlockpt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimensat.Po@am__quote@
@@ -2606,6 +2612,7 @@ warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
 @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_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|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; \
@@ -2800,6 +2807,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -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_QSORT_R''@/$(GNULIB_QSORT_R)/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' \
@@ -2851,6 +2859,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -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_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
              -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
              -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
              -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
@@ -3104,10 +3113,12 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
              -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_TIME_RZ''@/$(GNULIB_TIME_RZ)/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|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
              -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
              -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
              -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
@@ -3117,6 +3128,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
              -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 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_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)' \
@@ -3250,9 +3262,11 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
              -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
              -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+             -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|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_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
              -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
              -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
              -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
index b18694be2dcc80cef90d4999c66d49dfc2ea0857..a64d3d3b5b5cb22231cd7c750f8f5609abac5993 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test whether ACLs are well supported on this system.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This 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/acl-internal.c b/gnu/acl-internal.c
new file mode 100644 (file)
index 0000000..1eaa671
--- /dev/null
@@ -0,0 +1,507 @@
+/* Test whether a file has a nontrivial access control list.
+
+   Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible.  */
+
+#include <config.h>
+
+#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;
+
+#  elif 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;
+
+#  elif 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;
+
+#  else
+
+  errno = ENOSYS;
+  return -1;
+#  endif
+}
+
+int
+acl_default_nontrivial (acl_t acl)
+{
+  /* acl is non-trivial if it is non-empty.  */
+  return (acl_entries (acl) > 0);
+}
+
+# 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 <sys/acl.h> 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)
+{
+  int i;
+
+  if (count > 3)
+    return 1;
+
+  for (i = 0; i < count; i++)
+    {
+      struct acl_entry *ace = &entries[i];
+
+      if (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
+
+void
+free_permission_context (struct permission_context *ctx)
+{
+#ifdef USE_ACL
+# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+  if (ctx->acl)
+    acl_free (ctx->acl);
+#  if !HAVE_ACL_TYPE_EXTENDED
+  if (ctx->default_acl)
+    acl_free (ctx->default_acl);
+#  endif
+
+# elif defined GETACL /* Solaris, Cygwin */
+  free (ctx->entries);
+#  ifdef ACE_GETACL
+  free (ctx->ace_entries);
+#  endif
+
+# elif HAVE_GETACL /* HP-UX */
+
+#  if HAVE_ACLV_H
+#  endif
+
+# elif HAVE_STATACL /* older AIX */
+
+# elif HAVE_ACLSORT /* NonStop Kernel */
+
+# endif
+#endif
+}
index 40d4317b7b1efaca1f5ecb8e4c3d74a3ba4a250f..38a4ab2eb3aebf8e57b176df61b263703f013b58 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Internal implementation of access control lists.
 
-   Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -129,18 +127,13 @@ rpl_acl_set_fd (int fd, acl_t acl)
 #   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)
+#  if ! defined HAVE_ACL_FROM_MODE && ! defined HAVE_ACL_FROM_TEXT
+#   define acl_from_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.  */
+/* 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.
@@ -162,28 +155,31 @@ extern int acl_extended_nontrivial (acl_t);
    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);
+
+/* ACL is an ACL, from a file, stored as type ACL_TYPE_DEFAULT.
+   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_default_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.  */
+/* 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);
+extern int acl_nontrivial (int count, aclent_t *entries) _GL_ATTRIBUTE_PURE;
 
 #  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);
+extern int acl_ace_nontrivial (int count, ace_t *entries) _GL_ATTRIBUTE_PURE;
 
 /* Definitions for when the built executable is executed on Solaris 10
    (newer version) or Solaris 11.  */
@@ -222,7 +218,7 @@ extern int acl_ace_nontrivial (int count, ace_t *entries);
 
 /* 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);
+extern int acl_nontrivial (int count, struct acl_entry *entries);
 
 #  if HAVE_ACLV_H /* HP-UX >= 11.11 */
 
@@ -250,6 +246,57 @@ extern int acl_nontrivial (int count, struct acl *entries);
 
 # endif
 
+/* Set to 1 if a file's mode is implicit by the ACL.  */
+# ifndef MODE_INSIDE_ACL
+#  define MODE_INSIDE_ACL 1
+# endif
+
+#endif
+
+struct permission_context {
+  mode_t mode;
+#ifdef USE_ACL
+# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+  acl_t acl;
+#  if !HAVE_ACL_TYPE_EXTENDED
+  acl_t default_acl;
+#  endif
+  bool acls_not_supported;
+
+# elif defined GETACL /* Solaris, Cygwin */
+  int count;
+  aclent_t *entries;
+#  ifdef ACE_GETACL
+  int ace_count;
+  ace_t *ace_entries;
+#  endif
+
+# elif HAVE_GETACL /* HP-UX */
+  struct acl_entry entries[NACLENTRIES];
+  int count;
+#  if HAVE_ACLV_H
+  struct acl aclv_entries[NACLVENTRIES];
+  int aclv_count;
+#  endif
+
+# elif HAVE_STATACL /* older AIX */
+  union { struct acl a; char room[4096]; } u;
+  bool have_u;
+
+# elif HAVE_ACLSORT /* NonStop Kernel */
+  struct acl entries[NACLENTRIES];
+  int count;
+
+# endif
+#endif
+};
+
+int get_permissions (const char *, int, mode_t, struct permission_context *);
+int set_permissions (struct permission_context *, const char *, int);
+void free_permission_context (struct permission_context *)
+#if ! (defined USE_ACL && (HAVE_ACL_GET_FILE || defined GETACL))
+    _GL_ATTRIBUTE_CONST
 #endif
+  ;
 
 _GL_INLINE_HEADER_END
index 1d23f92bed2bf7e604e9de8cc71bee9960b2ae06..88ea08d8ee785d72ce9164a15c77b460081b2cd2 100644 (file)
--- a/gnu/acl.h
+++ b/gnu/acl.h
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* acl.c - access control lists
 
-   Copyright (C) 2002, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2008-2015 Free Software Foundation, Inc.
 
    This 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 +17,9 @@
 
    Written by Paul Eggert.  */
 
+#ifndef _GL_ACL_H
+#define _GL_ACL_H 1
+
 #include <stdbool.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -30,3 +31,5 @@ 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);
+
+#endif
index 8fac13cf2327808e46450c5e21cdbc1dd844f416..936a1318134749207f7c6436df8e872dd7fb9fa2 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
 
    This 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/alignof.h b/gnu/alignof.h
new file mode 100644 (file)
index 0000000..be53fa5
--- /dev/null
@@ -0,0 +1,50 @@
+/* Determine alignment of types.
+   Copyright (C) 2003-2004, 2006, 2009-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _ALIGNOF_H
+#define _ALIGNOF_H
+
+#include <stddef.h>
+
+/* alignof_slot (TYPE)
+   Determine the alignment of a structure slot (field) of a given type,
+   at compile time.  Note that the result depends on the ABI.
+   This is the same as alignof (TYPE) and _Alignof (TYPE), defined in
+   <stdalign.h> if __alignof_is_defined is 1.
+   Note: The result cannot be used as a value for an 'enum' constant,
+   due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc.  */
+#if defined __cplusplus
+  template <class type> struct alignof_helper { char __slot1; type __slot2; };
+# define alignof_slot(type) offsetof (alignof_helper<type>, __slot2)
+#else
+# define alignof_slot(type) offsetof (struct { char __slot1; type __slot2; }, __slot2)
+#endif
+
+/* alignof_type (TYPE)
+   Determine the good alignment of an object of the given type at compile time.
+   Note that this is not necessarily the same as alignof_slot(type).
+   For example, with GNU C on x86 platforms: alignof_type(double) = 8, but
+   - when -malign-double is not specified:  alignof_slot(double) = 4,
+   - when -malign-double is specified:      alignof_slot(double) = 8.
+   Note: The result cannot be used as a value for an 'enum' constant,
+   due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc.  */
+#if defined __GNUC__ || defined __IBM__ALIGNOF__
+# define alignof_type __alignof__
+#else
+# define alignof_type alignof_slot
+#endif
+
+#endif /* _ALIGNOF_H */
index b14bba75a7e70e6ea8eab36be84dd3dabe4fd291..ee0f01886826ad9dcba250aad66fe7bc25c06213 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* alloca.c -- allocate automatically reclaimed memory
    (Mostly) portable public-domain implementation -- D A Gwyn
 
index 7630f68821afcc4b19d56d99da248322ba6e0509..906fe92379d9b11064ca152fd9e2d1e6827f28bd 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2015 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
index c512d4bbb98021a0cd72760536ec519f2469e100..2c1a3da03aa162fb66cad828e17de7f65cd2e3ad 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define _GL_USE_STDLIB_ALLOC 1
 #include <config.h>
 #include "allocator.h"
index 513c7dfaea6ae1167c122f4bf1f7f64110ad8015..c7c851f91f70a412e46501984e7ea96cd0903cc0 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Memory allocators such as malloc+free.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 77a116c4fd08e0d7f5556239268484056c1d1ebd..fb1e2158a152ffe48c9f8ade9a22465d07cb644c 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* anytostr.c -- convert integers to printable strings
 
-   Copyright (C) 2001, 2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2008-2015 Free Software Foundation, Inc.
 
    This 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/areadlink-with-size.c b/gnu/areadlink-with-size.c
new file mode 100644 (file)
index 0000000..e3a8c50
--- /dev/null
@@ -0,0 +1,104 @@
+/* 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-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Jim Meyering <jim@meyering.net>  */
+
+#include <config.h>
+
+#include "areadlink.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#ifndef SSIZE_MAX
+# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
+#endif
+
+/* SYMLINK_MAX is used only for an initial memory-allocation sanity
+   check, so it's OK to guess too small on hosts where there is no
+   arbitrary limit to symbolic link length.  */
+#ifndef SYMLINK_MAX
+# define SYMLINK_MAX 1024
+#endif
+
+#define MAXSIZE (SIZE_MAX < SSIZE_MAX ? SIZE_MAX : SSIZE_MAX)
+
+/* Call readlink to get the symbolic link value of FILE.
+   SIZE is a hint as to how long the link is expected to be;
+   typically it is taken from st_size.  It need not be correct.
+   Return a pointer to that NUL-terminated string in malloc'd storage.
+   If readlink fails, malloc fails, or if the link value is longer
+   than SSIZE_MAX, return NULL (caller may use errno to diagnose).  */
+
+char *
+areadlink_with_size (char const *file, size_t size)
+{
+  /* Some buggy file systems report garbage in st_size.  Defend
+     against them by ignoring outlandish st_size values in the initial
+     memory allocation.  */
+  size_t symlink_max = SYMLINK_MAX;
+  size_t INITIAL_LIMIT_BOUND = 8 * 1024;
+  size_t initial_limit = (symlink_max < INITIAL_LIMIT_BOUND
+                          ? symlink_max + 1
+                          : INITIAL_LIMIT_BOUND);
+
+  /* The initial buffer size for the link value.  */
+  size_t buf_size = size < initial_limit ? size + 1 : initial_limit;
+
+  while (1)
+    {
+      ssize_t r;
+      size_t link_length;
+      char *buffer = malloc (buf_size);
+
+      if (buffer == NULL)
+        return NULL;
+      r = readlink (file, buffer, buf_size);
+      link_length = r;
+
+      /* 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 (r < 0 && errno != ERANGE)
+        {
+          int saved_errno = errno;
+          free (buffer);
+          errno = saved_errno;
+          return NULL;
+        }
+
+      if (link_length < buf_size)
+        {
+          buffer[link_length] = 0;
+          return buffer;
+        }
+
+      free (buffer);
+      if (buf_size <= MAXSIZE / 2)
+        buf_size *= 2;
+      else if (buf_size < MAXSIZE)
+        buf_size = MAXSIZE;
+      else
+        {
+          errno = ENOMEM;
+          return NULL;
+        }
+    }
+}
index 2ecf3325264c5b3fb537a0c08839ec81f289826d..248cc6bb523a78e3a1df25a4e0d6b55f73a44c05 100644 (file)
@@ -1,9 +1,7 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index db86a358243a95b6cb1f3d3daf542aa56662c99d..d9e0fa1428fb3af2e85bdc5ef123376b1d5aa215 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Read symbolic links without size limitation.
 
-   Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/areadlinkat-with-size.c b/gnu/areadlinkat-with-size.c
new file mode 100644 (file)
index 0000000..febc2ea
--- /dev/null
@@ -0,0 +1,132 @@
+/* readlinkat wrapper to return the link name in malloc'd storage.
+   Unlike xreadlinkat, only call exit on failure to change directory.
+
+   Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Jim Meyering <jim@meyering.net>
+   and Eric Blake <ebb9@byu.net>.  */
+
+#include <config.h>
+
+#include "areadlink.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#if HAVE_READLINKAT
+
+# ifndef SSIZE_MAX
+#  define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
+# endif
+
+/* SYMLINK_MAX is used only for an initial memory-allocation sanity
+   check, so it's OK to guess too small on hosts where there is no
+   arbitrary limit to symbolic link length.  */
+# ifndef SYMLINK_MAX
+#  define SYMLINK_MAX 1024
+# endif
+
+# define MAXSIZE (SIZE_MAX < SSIZE_MAX ? SIZE_MAX : SSIZE_MAX)
+
+/* Call readlinkat to get the symbolic link value of FILE, relative to FD.
+   SIZE is a hint as to how long the link is expected to be;
+   typically it is taken from st_size.  It need not be correct.
+   Return a pointer to that NUL-terminated string in malloc'd storage.
+   If readlinkat fails, malloc fails, or if the link value is longer
+   than SSIZE_MAX, return NULL (caller may use errno to diagnose).
+   However, failure to change directory during readlinkat will issue
+   a diagnostic and exit.  */
+
+char *
+areadlinkat_with_size (int fd, char const *file, size_t size)
+{
+  /* Some buggy file systems report garbage in st_size.  Defend
+     against them by ignoring outlandish st_size values in the initial
+     memory allocation.  */
+  size_t symlink_max = SYMLINK_MAX;
+  size_t INITIAL_LIMIT_BOUND = 8 * 1024;
+  size_t initial_limit = (symlink_max < INITIAL_LIMIT_BOUND
+                          ? symlink_max + 1
+                          : INITIAL_LIMIT_BOUND);
+
+  /* The initial buffer size for the link value.  */
+  size_t buf_size = size < initial_limit ? size + 1 : initial_limit;
+
+  while (1)
+    {
+      ssize_t r;
+      size_t link_length;
+      char *buffer = malloc (buf_size);
+
+      if (buffer == NULL)
+        return NULL;
+      r = readlinkat (fd, file, buffer, buf_size);
+      link_length = r;
+
+      /* 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 (r < 0 && errno != ERANGE)
+        {
+          int saved_errno = errno;
+          free (buffer);
+          errno = saved_errno;
+          return NULL;
+        }
+
+      if (link_length < buf_size)
+        {
+          buffer[link_length] = 0;
+          return buffer;
+        }
+
+      free (buffer);
+      if (buf_size <= MAXSIZE / 2)
+        buf_size *= 2;
+      else if (buf_size < MAXSIZE)
+        buf_size = MAXSIZE;
+      else
+        {
+          errno = ENOMEM;
+          return NULL;
+        }
+    }
+}
+
+#else /* !HAVE_READLINKAT */
+
+
+/* It is more efficient to change directories only once and call
+   areadlink_with_size, rather than repeatedly call the replacement
+   readlinkat.  */
+
+# define AT_FUNC_NAME areadlinkat_with_size
+# define AT_FUNC_F1 areadlink_with_size
+# define AT_FUNC_POST_FILE_PARAM_DECLS , size_t size
+# define AT_FUNC_POST_FILE_ARGS        , size
+# define AT_FUNC_RESULT char *
+# define AT_FUNC_FAIL NULL
+# 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
+# undef AT_FUNC_RESULT
+# undef AT_FUNC_FAIL
+
+#endif /* !HAVE_READLINKAT */
index 564704a08fa7505ba9a389a8adfdf7a2400d1844..b639056a7314ef0cc6d8c448850844acb10b5966 100644 (file)
@@ -1,9 +1,7 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index c26bcb3d99786ea7a3d4a9b263306e4ab6fa1ecf..0e452bd1cba07deb9eceaa2286a5d30888237fe3 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* argmatch.c -- find a match for a string in an array
 
-   Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2014 Free Software
+   Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index f97a358a4f0bdf8886a45cb764f2a70853505722..bbbfe64dfb5a97a42461a2e5690638ad985247cc 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* argmatch.h -- definitions and prototypes for argmatch.c
 
-   Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2014 Free Software
+   Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index df0f48d96c8870baa405617e7ad96e5998546ef7..62d6f1854c213fab6d60e9b36a22b6bef1adcf89 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-1997, 1999, 2009-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
index 6b403271808dd702e1a98f2cea3839477300387b..5f5a6eef15c2b8a291a750bf0fdc7cf851459b41 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Default definition for ARGP_ERR_EXIT_STATUS
-   Copyright (C) 1997, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2009-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
index 042bb8958da5dcd94af1a6c9611c55903246706b..e411e49168c42c291bfefa1d7757b2d26135c9bd 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software
+   Copyright (C) 1997-1999, 2001-2003, 2005, 2009-2015 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
index dad5af8203c8ababef40386d21d91b94757fc98f..3e7fab693f7e64faaa29ea417485c1fb56315ae3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Word-wrapping and line-truncating streams.
-   Copyright (C) 1997, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2006-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
index 6acbe2f5df7e908d2d702f4796eb9c3854889aba..9b0275121aedc35fccff9f8956d345025afd4fad 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2003-2004, 2009-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
index e52986992c422f469ad010debaa5b502c47e35d4..ebb53fc61effd8a81e6e6e4642b5a1a629e07a83 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Hierarchical argument parsing help output
-   Copyright (C) 1995-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2005, 2007, 2009-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
@@ -1508,11 +1506,15 @@ argp_doc (const struct argp *argp, const struct argp_state *state,
       if (vt)
         {
           if (post)
-            inp_text = vt + 1;
+            {
+              inp_text = vt + 1;
+              if (! *inp_text)
+                inp_text = 0;
+            }
           else
             {
               inp_text_len = vt - argp->doc;
-              inp_text = __strndup (argp->doc, inp_text_len);
+              inp_text = inp_text_len ? __strndup (argp->doc, inp_text_len) : 0;
             }
         }
       else
index 1e3f07965e19c764faa62c681e5a8958efa60bfe..479b74e04a5bad24a7a1217a3686479ed321c629 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2003, 2007, 2009-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
index 76c0544b077b2c61bd9ae6e55b8824ca68d5bacb..ad784b86661ec507e8c81da20acc8d990fdd86ee 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Hierarchical argument parsing, layered over getopt
-   Copyright (C) 1995-2000, 2002-2004, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2000, 2002-2004, 2009-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
index f324e6d01ac8fe8c1592a204f8d4f4221c2574ce..6198796d9edb68a783c7e0159da37b67762c5db3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Full and short program names for argp module
-   Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index d2c9b4f8095f572310b1bac348cf81030de322a3..0098d1ba06e179297e4bfb24b6bfdf6bc986f6d1 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation,
+   Copyright (C) 1996-1997, 1999, 2006, 2009-2015 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
index 1fedac158dbbbc3478a2774abf9cd39bfd0fb10b..8c25f457c3e94d1a62ea5821c99611321dcdea24 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation,
+   Copyright (C) 1996-1997, 1999, 2004, 2009-2015 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
index d9ca70bb1bb6072d815236aa84cba2eb78e23d58..0ce9c96ae6e4f719e9ebb1b4ebf6a0e5f6cd63c5 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Version hook for Argp.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8330a99b3e1d1ffa59e3adcdfe05ec74ec7bdd6d..8e197142ae7c557260dc165a7e34a900a3cffd25 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Version hook for Argp.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7dbdf73729f36205109ba229caf699eb0fd69fdd..cb48ad671e26ae7c535bb75088e1f7bab35ac4e8 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2004, 2009-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
index f3e1f621a8687e5a7a8e5b0bd4dafa574524e140..0fdc82caa9347c6ac6ce364132c3c6326e84d15c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Hierarchical argument parsing, layered over getopt.
-   Copyright (C) 1995-1999, 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-1999, 2003-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
index 1ed4a04f38dfa9bb8e8ce17e9e17d1180fb0b312..d6776caab273004f066763b54a986f41c78fa535 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index df6e5c54641f39cb81d76fdc255396b563be8471..06ae3dd7f7e69c5e476bd16bf52cd5b08b20abf0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006-2007, 2009-2014 Free Software Foundation,
+   Copyright (C) 1999, 2002, 2006-2007, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/assure.h b/gnu/assure.h
new file mode 100644 (file)
index 0000000..f44f380
--- /dev/null
@@ -0,0 +1,37 @@
+/* Run-time assert-like macros.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+#ifndef _GL_ASSURE_H
+#define _GL_ASSURE_H
+
+#include <assert.h>
+
+/* Check E's value at runtime, and report an error and abort if not.
+   However, do nothng if NDEBUG is defined.
+
+   Unlike standard 'assert', this macro always compiles E even when NDEBUG
+   is defined, so as to catch typos and avoid some GCC warnings.  */
+
+#ifdef NDEBUG
+# define assure(E) ((void) (0 && (E)))
+#else
+# define assure(E) assert (E)
+#endif
+
+#endif
index 774756d45e8eebd2790a0d3ae25b7417f8fd5102..bbbe458d9bbfa52a3aa6cf7ba16623159c17c87f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Define at-style functions like fstatat, unlinkat, fchownat, etc.
-   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index fa796a8603d6637c6905f439d1c2e4e1a4286ac2..32a64ff22ccd34aa94a9c120bb8cd89f146d45a7 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Define 2-FD at-style functions like linkat or renameat.
-   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b6c8aec0140df6f9880711eb31b46235b146e406..824c9d08737d67f04914b39f37550f03afdd7d38 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* backupfile.c -- make Emacs style backup file names
 
-   Copyright (C) 1990-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7a2ad9a8adfc06b2b6fdf6e84e25127c5766cd57..678b996a6c1ea8212254a2742d1be626a8707248 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* backupfile.h -- declarations for making Emacs style backup file names
 
-   Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2014 Free Software
+   Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 74257f884b2f0022a2c81f73575149a0a67229a6..aae1280f2f4e48b617a764ef36469bd88467583d 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index ac740b2f32f9c3edae9344d70f21cc97d88228b4..faebe761acafbd19b109b7267baeffdd33027469 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index d942185fabcf1c8b3d31f6dd539011bb69c284dd..a8f602889d13017c96a4a106b9e808400e7e383c 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define BITROTATE_INLINE _GL_EXTERN_INLINE
 #include "bitrotate.h"
index 31b9bc5910285ca413ff29a57c3c4ba32fbf56ff..1665e996793c1feba451c0c56ef277bab4830753 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* bitrotate.h - Rotate bits in integers
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3f3c6d84a8d28ecd2035522101cf7577a86e4916..2e32deec4e2ae6cbde2415bff4fe3742c53bfa06 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert unibyte character to wide character.
-   Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index e9e0c56c8490757478185de3fd8c382bc31aed75..1fb5fe675e9155df89d18e708159b32b6b5061e6 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Character handling in C locale.
 
-   Copyright 2000-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright 2000-2003, 2006, 2009-2015 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
index 3fe2b25bbcbfe40fccf3efe05feae6befe2282c7..476447317829bff2802f6cf038429af0f58a04cd 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Character handling in C locale.
 
    These functions work like the corresponding functions in <ctype.h>,
@@ -7,7 +5,7 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008-2015 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
index b3036756bce455192c4ba90bd0c66c47a2d8a8b6..f25bcca23f5ac048faecdae6e691201c38df9295 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software
+   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
index 87c67344149798cf7113be37e206edd16fc0af1e..6deb6d1236dfea18fa86bbdad319ba28fb141a2c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 58005a9e4972cc0a83f84e0609bd6d8a758215a3..ffd05a239c426d3228500d1cdf339ea95d7f5881 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index 17b4f0a27f3db58613990d25d08365ae57588f09..b98e36838ca8f48e76a83537d3696d210d6e2ec3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f9244b15d3e0b79dfb0c9904a4e96d4d05e2d9d9..1c9f2ee91b96ae73063952e83c0f8ac358f390f9 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Return the canonical absolute name of a given file.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 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
index 7bb5906c149bcc79ad82a8a5dc4fee09490c6b69..f2f5da23a38f002cc911f85edf11754bf297656f 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation,
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index 1a64b0c61db9e5f095edf7ffd0e164db80923908..4eb9fcccb852dda7e334b685f6ed3a23a0eeb22f 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 433a382c63a04b3aed0b426f04df7944260be995..ecc025a8c35e57084da9283af5d3f1b793858431 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,7 +20,6 @@
 
 #include "chdir-long.h"
 
-#include <assert.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <stdlib.h>
@@ -30,6 +27,8 @@
 #include <string.h>
 #include <stdio.h>
 
+#include "assure.h"
+
 #ifndef PATH_MAX
 # error "compile this file only if your system defines PATH_MAX"
 #endif
@@ -62,7 +61,7 @@ cdb_free (struct cd_buf const *cdb)
   if (0 <= cdb->fd)
     {
       bool close_fail = close (cdb->fd);
-      assert (! close_fail);
+      assure (! close_fail);
     }
 }
 
@@ -124,8 +123,8 @@ chdir_long (char *dir)
 
     /* If DIR is the empty string, then the chdir above
        must have failed and set errno to ENOENT.  */
-    assert (0 < len);
-    assert (PATH_MAX <= len);
+    assure (0 < len);
+    assure (PATH_MAX <= len);
 
     /* Count leading slashes.  */
     n_leading_slash = strspn (dir, "/");
@@ -160,8 +159,8 @@ chdir_long (char *dir)
         dir += n_leading_slash;
       }
 
-    assert (*dir != '/');
-    assert (dir <= dir_end);
+    assure (*dir != '/');
+    assure (dir <= dir_end);
 
     while (PATH_MAX <= dir_end - dir)
       {
@@ -177,7 +176,7 @@ chdir_long (char *dir)
           }
 
         *slash = '\0';
-        assert (slash - dir < PATH_MAX);
+        assure (slash - dir < PATH_MAX);
         err = cdb_advance_fd (&cdb, dir);
         *slash = '/';
         if (err != 0)
index 01292c2da098047d4a6cc4993dc77d8d69308df1..81dacc394937e3374371f4147f91f7a67dc5abb8 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2005, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 1f39887434dec0034fb8e87bcae68cea5b385d19..3c69689928e71c7dc12e05c1e93ab23344a78e49 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define FCHMODAT_INLINE _GL_EXTERN_INLINE
 #include "openat.h"
index 3759f521982f4b83f0ce9da44a2a57e46a325879..11238ebdf5345e7a124d43602f503a63d7592b38 100644 (file)
@@ -1,9 +1,7 @@
-/* -*- 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".
 
-   Copyright (C) 1997, 2004-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2004-2007, 2009-2015 Free Software Foundation, Inc.
 
    This 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,11 +45,6 @@ chown (const char *file _GL_UNUSED, uid_t uid _GL_UNUSED,
 /* Below we refer to the system's chown().  */
 # undef chown
 
-/* The results of open() in this file are not used with fchdir,
-   therefore save some unnecessary work in fchdir.c.  */
-# undef open
-# undef close
-
 /* Provide a more-closely POSIX-conforming version of chown on
    systems with one or both of the following problems:
    - chown doesn't treat an ID of -1 as meaning
index 92485d1eb356fecb3b999688dd5cf8c0dc12bbcb..3937f9c4f8a76dfe3e60dcc0ad994fe1ddd6f4f6 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define FCHOWNAT_INLINE _GL_EXTERN_INLINE
 #include "openat.h"
index f2c5d844bf57dd28a70607e49c7b930ac9ead85d..29d1a38aaf835c066667b1fa1f6e79188907a7fa 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* closexec.c - set or clear the close-on-exec descriptor flag
 
-   Copyright (C) 1991, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991, 2004-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 83b9aaf0355796334694a4cb18d106ae2f8e950d..ef5bacc2917098e818ad667e191607051569e82d 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* closexec.c - set or clear the close-on-exec descriptor flag
 
-   Copyright (C) 2004, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7ace2b2cd42cbfe8691e41c5a0979f09d3346e79..6e3d8658d580e7a179b58ca4e85ae8c30c94ba07 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Close a stream, with nicer error checking than fclose's.
 
-   Copyright (C) 1998-2002, 2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2004, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index d8cad1798e5460f1ad4edefb0cea120e1dea07e3..be3d4196b0676eb1a7afdd91d3ed87203e5e1f9d 100644 (file)
@@ -1,4 +1,2 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <stdio.h>
 int close_stream (FILE *stream);
index 8c2206bb9a0ac4a41ffb2f47f759c836214fa7b7..54d1f71b9c370b18af1d2858856d16d7ab0abe89 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* close replacement.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3ac254b8a097313e088e2303425e6981517c6843..f80843f91959f3bc4ecc6c94655bd9b83f6f50e3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Stop reading the entries of a directory.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a143adbd317d02143960d9e579dff14e2a4b7d4d..761d7151831ec832bfbccd06898950e9a65c6b09 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Close standard output and standard error, exiting with a diagnostic on error.
 
-   Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation,
+   Copyright (C) 1998-2002, 2004, 2006, 2008-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index 1f4fabe47da56c102a848219feb1064aab2e4966..87cea5b1afc33d6cd0981dddf1d447f8df1e13f7 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Close standard output and standard error.
 
-   Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2014 Free Software
+   Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 289bc44ea98d4327ae7a852f94f9d8088e5fbc58..f06d7e9f00fdb5ef60ebfa6a2af4223009f4544f 100644 (file)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Output a system dependent table of character encoding aliases.
 #
-#   Copyright (C) 2000-2004, 2006-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2000-2004, 2006-2015 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
@@ -348,12 +348,10 @@ case "$os" in
     #echo "sun_eu_greek ?" # what is this?
     echo "UTF-8 UTF-8"
     ;;
-  freebsd* | os2*)
+  freebsd*)
     # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
     # localcharset.c falls back to using the full locale name
     # from the environment variables.
-    # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
-    # reuse FreeBSD's locale data for OS/2.
     echo "C ASCII"
     echo "US-ASCII ASCII"
     for l in la_LN lt_LN; do
index a1203bcc50acc25ff81c515edda46efb803c0faf..aa3f4929cb2ced584b43cf2232a80427fb75a695 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Like dirent.h, but redefine some names to avoid glitches.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This 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,3 +21,4 @@
 
 #undef opendir
 #define opendir opendir_safer
+#define GNULIB_defined_opendir 1
index d11d6f20ab82ee1308fbbf542713e38fa51a4132..aa01f6026d160885323369f016289f29e7a9d211 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Private details of the DIR type.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 083db2831090e80c8c9db1b0f651b943c9b9ba81..da62b2e31561fee22186f92f6a5a1bd5aa2b6530 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Invoke dirent-like functions, but avoid some glitches.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 86f49667b6b76d3690c82250b75494a935ee680e..154d2689e3da7cc1330f1063f61e098f7fe3dc87 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <dirent.h>.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -79,6 +77,7 @@ typedef struct gl_directory DIR;
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef opendir
 #   define opendir rpl_opendir
+#   define GNULIB_defined_opendir 1
 #  endif
 _GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name));
@@ -130,6 +129,7 @@ _GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - "
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef closedir
 #   define closedir rpl_closedir
+#   define GNULIB_defined_closedir 1
 #  endif
 _GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (closedir, int, (DIR *dirp));
index 050912b982a8b3209467d12b124dcfaa287eda69..c91f8e558721e772ab3e2097728adc5ddf6919a2 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* dirfd.c -- return the file descriptor associated with an open DIR*
 
-   Copyright (C) 2001, 2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 1206241bfd2a0dbcf26aca197e345f44978ee153..98391356fde1bd41fb6cf0e9a1c12d3475315753 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* 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-2014 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index cff08e8f9079b5ea5b0830f4f9cc2dcf65ec3383..c22be314d1e8ea790e65e62e4eec55e01e6c2850 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* 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-2014 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 9d3ab05f7a53be07762680e1494bf59c8b71dac3..55021ec5e6a8f20c79986a3c65f3188e9b58d226 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /*  Take file names apart into directory and base names.
 
-    Copyright (C) 1998, 2001, 2003-2006, 2009-2014 Free Software Foundation,
+    Copyright (C) 1998, 2001, 2003-2006, 2009-2015 Free Software Foundation,
     Inc.
 
     This program is free software: you can redistribute it and/or modify
 #  define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
 # endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 # if GNULIB_DIRNAME
 char *base_name (char const *file);
 char *dir_name (char const *file);
@@ -45,4 +47,8 @@ char *last_component (char const *file) _GL_ATTRIBUTE_PURE;
 
 bool strip_trailing_slashes (char *file);
 
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
 #endif /* not DIRNAME_H_ */
index ae5fa1b963f7901e7f648543a79e85c231d23c09..893baf6ccf3361dd55d675f55429614579b2fa36 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* File names on MS-DOS/Windows systems.
 
-   Copyright (C) 2000-2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 6319cb7dd115dcbba31234f0ee26eea01ca13a5b..c6436cd9ba8b96ee4611affc45404699d86dab55 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Invoke dup, but avoid some glitches.
 
-   Copyright (C) 2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2004-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7faf3020039912b4b1556d3dffdeaf6a3b81d0ad..20f0453405da54561ddbfa2afa081d1a51717a36 100644 (file)
--- a/gnu/dup.c
+++ b/gnu/dup.c
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Duplicate an open file descriptor.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 9428f0f546bdfd07593cbb0c0755f4f4e8f6347f..0e13214c82565bc7befe8bf1ca15d45536801816 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Duplicate an open file descriptor to a specified file descriptor.
 
-   Copyright (C) 1999, 2004-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2004-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7072f19429efeeb6a19ee8ffe19117cc45813793..affbb9798806708f8d421a30b5da9c0dbff141db 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 5f929df659a1481c3b3e7a38e8db84a7690de8fa..0ac769518533d757273c929a5008dbb57df490b3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-1998, 2000-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2007, 2009-2015 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
@@ -41,6 +39,9 @@
 # include <stdint.h>
 # include <wchar.h>
 # define mbsrtowcs __mbsrtowcs
+# define USE_UNLOCKED_IO 0
+# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b)
+# define _GL_ARG_NONNULL(a)
 #endif
 
 #if USE_UNLOCKED_IO
@@ -74,14 +75,14 @@ extern void __error (int status, int errnum, const char *message, ...)
 extern void __error_at_line (int status, int errnum, const char *file_name,
                              unsigned int line_number, const char *message,
                              ...)
-     __attribute__ ((__format__ (__printf__, 5, 6)));;
+     __attribute__ ((__format__ (__printf__, 5, 6)));
 # define error __error
 # define error_at_line __error_at_line
 
 # include <libio/iolibio.h>
-# define fflush(s) INTUSE(_IO_fflush) (s)
+# define fflush(s) _IO_fflush (s)
 # undef putc
-# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
+# define putc(c, fp) _IO_putc (c, fp)
 
 # include <bits/libc-lock.h>
 
@@ -173,7 +174,7 @@ print_errno_message (int errnum)
 
 #if defined HAVE_STRERROR_R || _LIBC
   char errbuf[1024];
-# if STRERROR_R_CHAR_P || _LIBC
+# if _LIBC || STRERROR_R_CHAR_P
   s = __strerror_r (errnum, errbuf, sizeof errbuf);
 # else
   if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
@@ -203,7 +204,6 @@ error_tail (int status, int errnum, const char *message, va_list args)
 #if _LIBC
   if (_IO_fwide (stderr, 0) > 0)
     {
-# define ALLOCA_LIMIT 2000
       size_t len = strlen (message) + 1;
       wchar_t *wmessage = NULL;
       mbstate_t st;
@@ -239,7 +239,7 @@ error_tail (int status, int errnum, const char *message, va_list args)
           if (res != len)
             break;
 
-          if (__builtin_expect (len >= SIZE_MAX / 2, 0))
+          if (__builtin_expect (len >= SIZE_MAX / sizeof (wchar_t) / 2, 0))
             {
               /* This really should not happen if everything is fine.  */
               res = (size_t) -1;
@@ -344,7 +344,10 @@ error_at_line (int status, int errnum, const char *file_name,
 
       if (old_line_number == line_number
           && (file_name == old_file_name
-              || strcmp (old_file_name, file_name) == 0))
+              || (old_file_name != NULL
+                  && file_name != NULL
+                  && strcmp (old_file_name, file_name) == 0)))
+
         /* Simply return and print nothing.  */
         return;
 
@@ -376,10 +379,10 @@ error_at_line (int status, int errnum, const char *file_name,
     }
 
 #if _LIBC
-  __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
+  __fxprintf (NULL, file_name != NULL ? "%s:%u: " : " ",
               file_name, line_number);
 #else
-  fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
+  fprintf (stderr, file_name != NULL ? "%s:%u: " : " ",
            file_name, line_number);
 #endif
 
index 8d377065af5a46cf050c303252a76704787b89be..eb4fb701753f6d687405d4563ec6b481e5511179 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Declaration for error-reporting function
-   Copyright (C) 1995-1997, 2003, 2006, 2008-2014 Free Software Foundation,
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2015 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
 # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
 #endif
 
+/* On mingw, the flavor of printf depends on whether the extensions module
+ * is in use; the check for <stdio.h> determines the witness macro.  */
+#ifndef _GL_ATTRIBUTE_SPEC_PRINTF
+# if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+#  define _GL_ATTRIBUTE_SPEC_PRINTF __gnu_printf__
+# else
+#  define _GL_ATTRIBUTE_SPEC_PRINTF __printf__
+# endif
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -42,11 +50,11 @@ extern "C" {
    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));
+     _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 3, 4));
 
 extern void error_at_line (int __status, int __errnum, const char *__fname,
                            unsigned int __lineno, const char *__format, ...)
-     _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 6));
+     _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 5, 6));
 
 /* If NULL, error will flush stdout, then print on stderr the program
    name, a colon and a space.  Otherwise, error will call this
index 0bd3012482eab9768a0a7c9ffc953a1372e97da6..c7e6cfb7a98e5b99becbe7323ea44144de85b677 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* euidaccess -- check if effective user id can access file
 
-   Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2014 Free
+   Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2015 Free
    Software Foundation, Inc.
 
    This file is part of the GNU C Library.
index e2eb34be7dd8cc432f3b613c8dd156eca53f395f..20dedf7e1b0142f546893d72cb8ae45a56b6188b 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* exclude.c -- exclude file names
 
-   Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2014 Free Software
+   Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -394,7 +392,7 @@ exclude_fnmatch (char const *pattern, char const *f, int options)
   return matched;
 }
 
-bool
+static bool
 exclude_patopts (struct patopts const *opts, char const *f)
 {
   int options = opts->options;
@@ -670,8 +668,8 @@ add_exclude_fp (void (*add_func) (struct exclude *, char const *, int, void *),
 static void
 call_addfn (struct exclude *ex, char const *pattern, int options, void *data)
 {
-  void (*addfn) (struct exclude *, char const *, int) = data;
-  addfn (ex, pattern, options);
+  void (**addfnptr) (struct exclude *, char const *, int) = data;
+  (*addfnptr) (ex, pattern, options);
 }
 
 int
@@ -688,7 +686,7 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
   else if (! (in = fopen (file_name, "r")))
     return -1;
 
-  rc = add_exclude_fp (call_addfn, ex, in, options, line_end, add_func);
+  rc = add_exclude_fp (call_addfn, ex, in, options, line_end, &add_func);
 
   if (!use_stdin && fclose (in) != 0)
     rc = -1;
index 47994d28853b81c93263ed593b45f9a08e92c0d1..b522d35f601c48f5f95e5fa50917b5b23989117a 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* exclude.h -- declarations for excluding file names
 
-   Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2014 Free
+   Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2015 Free
    Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 321c74c15a209f1d1f2aeff30dceb8fe7d8252aa..8035b8952c5edf00679b785e99231f0e7e2dfedd 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Failure exit status
 
-   Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 0347f46260321ef196557739a9189c4d11b0481c..62d0ac5d9e657751fc4a4e1844c0736084d45f13 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Failure exit status
 
-   Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8abb9c0f697031ae2fbe071eb61bb86db19354fa..5bd7ecfd827741911258afcef9574058a8c0a158 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Check the access rights of a file relative to an open directory.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a39f1177d3bd7065aa9136e28fef4109b0efa358..944d1bdf87cb199433c9abea7cf8d77d988ef384 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* fchdir replacement.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This 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,7 +19,6 @@
 /* Specification.  */
 #include <unistd.h>
 
-#include <assert.h>
 #include <dirent.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -31,6 +28,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
+#include "assure.h"
 #include "dosname.h"
 #include "filenamecat.h"
 
@@ -134,7 +132,7 @@ _gl_register_fd (int fd, const char *filename)
 {
   struct stat statbuf;
 
-  assert (0 <= fd);
+  assure (0 <= fd);
   if (REPLACE_OPEN_DIRECTORY
       || (fstat (fd, &statbuf) == 0 && S_ISDIR (statbuf.st_mode)))
     {
@@ -158,7 +156,7 @@ _gl_register_fd (int fd, const char *filename)
 int
 _gl_register_dup (int oldfd, int newfd)
 {
-  assert (0 <= oldfd && 0 <= newfd && oldfd != newfd);
+  assure (0 <= oldfd && 0 <= newfd && oldfd != newfd);
   if (oldfd < dirs_allocated && dirs[oldfd].name)
     {
       /* Duplicated a directory; must ensure newfd is allocated.  */
index 0794284330c8b7763823c0240bdb9c7e2eb5daee..c09d02d035a9990b7c08f209bcf89171ed7f8f9a 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b4650031faaf6ba5ab9e1c3342c1f47a76ea86eb..62b6969084a7f9c573c87a22350ace3228e99220 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 
 #include <sys/types.h>
index 47f2432cc5ec744cf3e9d08604732832fa28ff94..3bf5daa1ade1933814107ebb3f7902d59d15ebac 100644 (file)
@@ -1,12 +1,10 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* This function serves as replacement for a missing fchownat function,
    as well as a work around for the fchownat bug in glibc-2.4:
     <http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html>
    when the buggy fchownat-with-AT_SYMLINK_NOFOLLOW operates on a symlink, it
    mistakenly affects the symlink referent, rather than the symlink itself.
 
-   Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index c272ec9c754bd1471767ba73e3390ad2e3ee673e..23b73e975c844d976a032d2582f482fac0f43f33 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide file descriptor control.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -91,8 +89,25 @@ dupfd (int oldfd, int newfd, int flags)
                             inherit,                /* InheritHandle */
                             DUPLICATE_SAME_ACCESS)) /* Options */
         {
-          /* TODO: Translate GetLastError () into errno.  */
-          errno = EMFILE;
+          switch (GetLastError ())
+            {
+              case ERROR_TOO_MANY_OPEN_FILES:
+                errno = EMFILE;
+                break;
+              case ERROR_INVALID_HANDLE:
+              case ERROR_INVALID_TARGET_HANDLE:
+              case ERROR_DIRECT_ACCESS_HANDLE:
+                errno = EBADF;
+                break;
+              case ERROR_INVALID_PARAMETER:
+              case ERROR_INVALID_FUNCTION:
+              case ERROR_INVALID_ACCESS:
+                errno = EINVAL;
+                break;
+              default:
+                errno = EACCES;
+                break;
+            }
           result = -1;
           break;
         }
@@ -100,7 +115,6 @@ dupfd (int oldfd, int newfd, int flags)
       if (duplicated_fd < 0)
         {
           CloseHandle (new_handle);
-          errno = EMFILE;
           result = -1;
           break;
         }
index 8a1668c3743af6c2c2d7bef96343fb2ed8cb6eed..e2880185c6310c0ff5689a18b501379ee18bb214 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This 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 +34,7 @@
    extern "C" { ... } block, which leads to errors in C++ mode with the
    overridden <sys/stat.h> from gnulib.  These errors are known to be gone
    with g++ version >= 4.3.  */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
 # include <sys/stat.h>
 #endif
 #@INCLUDE_NEXT@ @NEXT_FCNTL_H@
@@ -55,7 +53,7 @@
    extern "C" { ... } block, which leads to errors in C++ mode with the
    overridden <sys/stat.h> from gnulib.  These errors are known to be gone
    with g++ version >= 4.3.  */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
 # include <sys/stat.h>
 #endif
 /* The include_next requires a split double-inclusion guard.  */
@@ -188,6 +186,22 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 
 /* Fix up the O_* macros.  */
 
+/* AIX 7.1 with XL C 12.1 defines O_CLOEXEC, O_NOFOLLOW, and O_TTY_INIT
+   to values outside 'int' range, so omit these misdefinitions.
+   But avoid namespace pollution on non-AIX systems.  */
+#ifdef _AIX
+# include <limits.h>
+# if defined O_CLOEXEC && ! (INT_MIN <= O_CLOEXEC && O_CLOEXEC <= INT_MAX)
+#  undef O_CLOEXEC
+# endif
+# if defined O_NOFOLLOW && ! (INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX)
+#  undef O_NOFOLLOW
+# endif
+# if defined O_TTY_INIT && ! (INT_MIN <= O_TTY_INIT && O_TTY_INIT <= INT_MAX)
+#  undef O_TTY_INIT
+# endif
+#endif
+
 #if !defined O_DIRECT && defined O_DIRECTIO
 /* Tru64 spells it 'O_DIRECTIO'.  */
 # define O_DIRECT O_DIRECTIO
index 8b1688cd7790a0148fd98d0d640da471963ee746..b1488c4ce7bbac045a05eb406999d1cdb263ea45 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2009.
 
    This program is free software: you can redistribute it and/or modify it
index 30f352b48b264ca8233892d65c09f27f24ecf5c9..bdb9aefe839293ba5373f76e4c992139fba29c3a 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index 7dcd9cf4588c10d93cfb5e833e4911685a740d26..6c1fb2b60d9b25768aa1882fa402b2fd3d8eda03 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Return a safer copy of a file descriptor.
 
-   Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index cd08665ae777a45867c1e8a1df4c58414ffa7ebb..837a8219b3399f7431c70169e0694ee7cb523f1d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* provide a replacement fdopendir function
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -95,7 +93,7 @@ fdopendir (int fd)
    That way, barring race conditions, fd_clone_opendir returns a
    stream whose file descriptor is FD.
 
-   If REPLACE_CHDIR or CWD is null, use opendir ("/proc/self/fd/...",
+   If REPLACE_FCHDIR or CWD is null, use opendir ("/proc/self/fd/...",
    falling back on fchdir metadata.  Otherwise, CWD is a saved version
    of the working directory; use fchdir/opendir(".")/restore_cwd(CWD).  */
 static DIR *
@@ -158,7 +156,16 @@ fd_clone_opendir (int fd, struct saved_cwd const *cwd)
       if (! dir && EXPECTED_ERRNO (saved_errno))
         {
           char const *name = _gl_directory_name (fd);
-          return (name ? opendir (name) : NULL);
+          DIR *dp = name ? opendir (name) : NULL;
+
+          /* The caller has done an elaborate dance to arrange for opendir to
+             consume just the right file descriptor.  If dirfd returns -1,
+             though, we're on a system like mingw where opendir does not
+             consume a file descriptor.  Consume it via 'dup' instead.  */
+          if (dp && dirfd (dp) < 0)
+            dup (fd);
+
+          return dp;
         }
 # endif
       errno = saved_errno;
index d761ad1b3b6c6b44c66438e66900a211d762785c..739507b51c643ad6ca3064387f3bf064813512da 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Set file access and modification times.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This 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
index 946ff2d0e6f038d8d43e987ec7293bf630f85fe2..b78a8793fe2f245229bdb92d0e3d74e3206a1004 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include "acl-internal.h"
 
+#if GETXATTR_WITH_POSIX_ACLS
+# include <sys/xattr.h>
+# include <linux/xattr.h>
+#endif
 
-#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 */
+/* Return 1 if NAME has a nontrivial access control list,
+   0 if ACLs are not supported, or if NAME has no or only a base ACL,
+   and -1 (setting errno) on error.  Note callers can determine
+   if ACLs are not supported as errno is set in that case also.
+   SB must be set to the stat buffer of NAME,
+   obtained through stat() or lstat().  */
 
-/* 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)
+file_has_acl (char const *name, struct stat const *sb)
 {
-  /* 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))
+#if USE_ACL
+  if (! S_ISLNK (sb->st_mode))
     {
-      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;
 
-#  elif HAVE_ACL_TO_SHORT_TEXT /* IRIX */
-  /* Don't use acl_get_entry: it is undocumented.  */
+# if GETXATTR_WITH_POSIX_ACLS
 
-  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;
+      ssize_t ret;
 
-      if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ
-            || tag == ACL_OTHER_OBJ))
+      ret = getxattr (name, XATTR_NAME_POSIX_ACL_ACCESS, NULL, 0);
+      if (ret < 0 && errno == ENODATA)
+        ret = 0;
+      else if (ret > 0)
         return 1;
-    }
-  return 0;
-
-#  elif 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;
-
-#  else
-
-  errno = ENOSYS;
-  return -1;
-#  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 <sys/acl.h> 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++)
+      if (ret == 0 && S_ISDIR (sb->st_mode))
         {
-          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
+          ret = getxattr (name, XATTR_NAME_POSIX_ACL_DEFAULT, NULL, 0);
+          if (ret < 0 && errno == ENODATA)
+            ret = 0;
+          else if (ret > 0)
             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().  */
+      if (ret < 0)
+        return - acl_errno_valid (errno);
+      return ret;
 
-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
+# elif HAVE_ACL_GET_FILE
 
       /* POSIX 1003.1e (draft 17 -- abandoned) specific version.  */
       /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
@@ -767,7 +349,7 @@ file_has_acl (char const *name, struct stat const *sb)
               if (stat (name, &statbuf) < 0)
                 return -1;
 
-              return acl_nontrivial (count, entries, &statbuf);
+              return acl_nontrivial (count, entries);
             }
           }
       }
@@ -875,7 +457,7 @@ file_has_acl (char const *name, struct stat const *sb)
 
       union { struct acl a; char room[4096]; } u;
 
-      if (statacl (name, STX_NORMAL, &u.a, sizeof (u)) < 0)
+      if (statacl ((char *) name, STX_NORMAL, &u.a, sizeof (u)) < 0)
         return -1;
 
       return acl_nontrivial (&u.a);
index 1302f2c4053c6cf3cd6dbd15ddb6ad8e1314f736..27f49c044f199ab76de3821f52289ef32448546c 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* 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-2014 Free Software
+   Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index a5806e573e9ebce15e81471894dd71162e9140c3..457699315b03562449d43bcbb7bc97e9006e6914 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Basic filename support macros.
-   Copyright (C) 2001-2004, 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2007-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a5cfc53c6d25d64254ec6fb14a1f422d4de96328..a359a5167d548003eee169fb65382c122e84fc0f 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Concatenate two arbitrary file names.
 
-   Copyright (C) 1996-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b39df8600b6ce848d72812eb3f4153175f3a0de9..62f81b007f043c4906c9c163a4d41a09d3144f49 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Concatenate two arbitrary file names.
 
-   Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2014 Free Software
+   Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 3331ee1127b40e854b6dac0f4e85b5926f833fed..e6aaa922daab836033bd127d2dac697363d17776 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Supplemental information about the floating-point formats.
-   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software; you can redistribute it and/or modify
index 95c02ec04a04178081c9a88235d5f3602dcc5d7c..dac9f88e34b9225bac0f49795b89ce5d5bd3f05c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Auxiliary definitions for <float.h>.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
index 2ddca7ccbd9486950932d48691d0872f001311fd..3bb382647443844cfed1245ac5ff75e33c43e9e2 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A correct <float.h>.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 47bea305b5d20074eeb8b4b6b00f35ef792dbc77..f4a9e7c674cccb5363dd645e89bc42dd4792c600 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-2007, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 4f0aae481eefa4379280e0108ba6a38dce1497bf..eb5815a08ac083b628b169a609b39666556d2016 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2014 Free
+/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2015 Free
    Software Foundation, Inc.
 
    This file is part of the GNU C Library.
index d298431f5933322584173834f18394dd8a65a865..61778bdd57c915f2d439fb642e3110ac30323e4d 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-2006, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2006, 2009-2015 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
index 02b844fb87d431ce69de2e3776f91ff9a960ea4e..c4b4a5196113093f4b968d68bc91fcb125ec6a33 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation,
+   Copyright (C) 2000, 2004, 2006-2007, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index 53fe5ac76ebd86d0e10b8f38fcc2be83b75f868f..5a1b2ad9442c168fa6f8f57a0ad1aa5ea5eb3d68 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Declare __fpending.
 
-   Copyright (C) 2000, 2003, 2005-2006, 2009-2014 Free Software Foundation,
+   Copyright (C) 2000, 2003, 2005-2006, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index d5a59f9c3d82c461dc15b46c3f98bab7be816037..e6eb4f20f5a3648aee5ecf3cc4edee18a60acf57 100644 (file)
@@ -1,4 +1,2 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define FPRINTFTIME 1
 #include "strftime.c"
index d7546c88baad02c0a7089db64d8c33a34b2d43ca..6f76d16acdca00f6ea1d9e4023eb525a8ed2b3fe 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Generate time strings directly to the output.  */
 
-/* Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
 
    This 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 +23,7 @@
    large buffer that nstrftime would require.
 
    Output to stream FP the result of formatting (according to the
-   nstrftime format string, FMT) the time data, *TM, and the UTC
+   nstrftime format string, FMT) the time data, *TM, and the ZONE
    and NANOSECONDS values.  */
 size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
-                    int utc, int nanoseconds);
+                    timezone_t zone, int nanoseconds);
index 77efd2929ed7fb14eaabd644139263b1196cb41a..0d2e3067250184220c0e495b5b938e8e0107b2d4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 2b204ffe979eed7e0db787c4c43c75166325a021..1c65d2a848e3c1f61a01cff1a2b94cca05a9c460 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -53,7 +51,8 @@ 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, Mac OS X, Cygwin */
+#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+  /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
 # if defined __SL64 && defined __SCLE /* Cygwin */
   if ((fp->_flags & __SL64) == 0)
     {
@@ -117,7 +116,8 @@ fseeko (FILE *fp, off_t offset, int whence)
       off_t pos = lseek (fileno (fp), offset, whence);
       if (pos == -1)
         {
-#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
+#if defined __sferror || defined __DragonFly__ || defined __ANDROID__
+          /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
           fp_->_flags &= ~__SOFF;
 #endif
           return -1;
@@ -126,8 +126,9 @@ 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;
       fp->_offset = pos;
-#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
-# if defined __CYGWIN__
+#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+      /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
+# if defined __CYGWIN__ || (defined __NetBSD__ && __NetBSD_Version__ >= 600000000)
       /* fp_->_offset is typed as an integer.  */
       fp_->_offset = pos;
 # else
index eddda7f508aba068afa19b379c6bfbd857e9149c..7a0521fa0f329c4c0ce6f40e0b5f31a2dc7abb0f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* fstat() replacement.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 77f525994d0723b2fec4d8420f20df2a03ea6142..6a9e8623e13139535a5974144a9031d7d251d727 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Work around an fstatat bug on Solaris 9.
 
-   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a834f36964faaf748b9608e70bad50faf701895e..027f77adc9e95983389a2ed8592b5754a67b4035 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* An interface to read and write that retries (if necessary) until complete.
 
-   Copyright (C) 1993-1994, 1997-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 1997-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 48a0ee59ab3b0d9f522f18d00bc7ddcba48c807a..b32b53d9ec5a9618d74ef0a2c6de74542ee2fa29 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* An interface to write() that writes all it is asked to write.
 
-   Copyright (C) 2002-2003, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a70f22ccde0a298038b9fa18fc3615582bb13d8d..b729babbf7ecdbee3c2628d3b5c01569d0cb450b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This 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/get-permissions.c b/gnu/get-permissions.c
new file mode 100644 (file)
index 0000000..459513c
--- /dev/null
@@ -0,0 +1,291 @@
+/* get-permissions.c - get permissions of a file
+
+   Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible.  */
+
+#include <config.h>
+
+#include <string.h>
+#include "acl.h"
+
+#include "acl-internal.h"
+
+/* Read the permissions of a file into CTX. If DESC is a valid file descriptor,
+   use file descriptor operations, else use filename based operations on NAME.
+   MODE is the file mode obtained from a previous stat call.
+   Return 0 if successful.  Return -1 and set errno upon failure.  */
+
+int
+get_permissions (const char *name, int desc, mode_t mode,
+                struct permission_context *ctx)
+{
+  memset (ctx, 0, sizeof *ctx);
+  ctx->mode = 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 */
+
+  if (HAVE_ACL_GET_FD && desc != -1)
+    ctx->acl = acl_get_fd (desc);
+  else
+    ctx->acl = acl_get_file (name, ACL_TYPE_ACCESS);
+  if (ctx->acl == NULL)
+    return acl_errno_valid (errno) ? -1 : 0;
+
+  /* With POSIX ACLs, a file cannot have "no" acl; a file without
+     extended permissions has a "minimal" acl which is equivalent to the
+     file mode.  */
+
+  if (S_ISDIR (mode))
+    {
+      ctx->default_acl = acl_get_file (name, ACL_TYPE_DEFAULT);
+      if (ctx->default_acl == NULL)
+       return -1;
+    }
+
+# if HAVE_ACL_TYPE_NFS4  /* FreeBSD */
+
+  /* TODO (see set_permissions). */
+
+# endif
+
+#  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.  */
+
+  if (HAVE_ACL_GET_FD && desc != -1)
+    ctx->acl = acl_get_fd (desc);
+  else
+    ctx->acl = acl_get_file (name, ACL_TYPE_EXTENDED);
+  if (ctx->acl == NULL)
+    return acl_errno_valid (errno) ? -1 : 0;
+
+# 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
+  /* 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 <http://docs.sun.com/app/docs/doc/819-2241/6n4huc7ia?l=en&a=view>
+     the description of ENOTSUP.)  */
+  for (;;)
+    {
+      int ret;
+
+      if (desc != -1)
+       ret = facl (desc, ACE_GETACLCNT, 0, NULL);
+      else
+       ret = acl (name, ACE_GETACLCNT, 0, NULL);
+      if (ret < 0)
+       {
+         if (errno == ENOSYS || errno == EINVAL)
+           ret = 0;
+         else
+           return -1;
+       }
+      ctx->ace_count = ret;
+
+      if (ctx->ace_count == 0)
+        break;
+
+      ctx->ace_entries = (ace_t *) malloc (ctx->ace_count * sizeof (ace_t));
+      if (ctx->ace_entries == NULL)
+        {
+          errno = ENOMEM;
+          return -1;
+        }
+
+      if (desc != -1)
+       ret = facl (desc, ACE_GETACL, ctx->ace_count, ctx->ace_entries);
+      else
+       ret = acl (name, ACE_GETACL, ctx->ace_count, ctx->ace_entries);
+      if (ret < 0)
+        {
+          if (errno == ENOSYS || errno == EINVAL)
+            {
+             free (ctx->ace_entries);
+             ctx->ace_entries = NULL;
+              ctx->ace_count = 0;
+              break;
+            }
+          else
+            return -1;
+        }
+      if (ret <= ctx->ace_count)
+       {
+         ctx->ace_count = ret;
+         break;
+       }
+      /* Huh? The number of ACL entries has increased since the last call.
+         Repeat.  */
+      free (ctx->ace_entries);
+      ctx->ace_entries = NULL;
+    }
+# endif
+
+  for (;;)
+    {
+      int ret;
+
+      if (desc != -1)
+       ret = facl (desc, GETACLCNT, 0, NULL);
+      else
+       ret = acl (name, GETACLCNT, 0, NULL);
+      if (ret < 0)
+       {
+         if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
+           ret = 0;
+         else
+           return -1;
+       }
+      ctx->count = ret;
+
+      if (ctx->count == 0)
+       break;
+
+      ctx->entries = (aclent_t *) malloc (ctx->count * sizeof (aclent_t));
+      if (ctx->entries == NULL)
+        {
+          errno = ENOMEM;
+          return -1;
+        }
+
+      if (desc != -1)
+       ret = facl (desc, GETACL, ctx->count, ctx->entries);
+      else
+       ret = acl (name, GETACL, ctx->count, ctx->entries);
+      if (ret < 0)
+       {
+         if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
+           {
+             free (ctx->entries);
+             ctx->entries = NULL;
+             ctx->count = 0;
+             break;
+           }
+         else
+           return -1;
+       }
+      if (ret <= ctx->count)
+       {
+         ctx->count = ret;
+         break;
+       }
+      /* Huh? The number of ACL entries has increased since the last call.
+         Repeat.  */
+      free (ctx->entries);
+      ctx->entries = NULL;
+    }
+
+#elif USE_ACL && HAVE_GETACL /* HP-UX */
+
+  {
+    int ret;
+
+    if (desc != -1)
+      ret = fgetacl (desc, NACLENTRIES, ctx->entries);
+    else
+      ret = getacl (name, NACLENTRIES, ctx->entries);
+    if (ret < 0)
+      {
+        if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
+          ret = 0;
+        else
+          return -1;
+      }
+    else if (ret > NACLENTRIES)
+      /* If NACLENTRIES cannot be trusted, use dynamic memory allocation.  */
+      abort ();
+    ctx->count = ret;
+
+# if HAVE_ACLV_H
+    ret = acl ((char *) name, ACL_GET, NACLVENTRIES, ctx->aclv_entries);
+    if (ret < 0)
+      {
+        if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+          ret = 0;
+        else
+          return -2;
+      }
+    else if (ret > NACLVENTRIES)
+      /* If NACLVENTRIES cannot be trusted, use dynamic memory allocation.  */
+      abort ();
+    ctx->aclv_count = ret;
+# endif
+  }
+
+#elif USE_ACL && HAVE_ACLX_GET && ACL_AIX_WIP /* AIX */
+
+  /* TODO (see set_permissions). */
+
+#elif USE_ACL && HAVE_STATACL /* older AIX */
+
+  {
+    int ret;
+    if (desc != -1)
+      ret = fstatacl (desc, STX_NORMAL, &ctx->u.a, sizeof ctx->u);
+    else
+      ret = statacl ((char *) name, STX_NORMAL, &ctx->u.a, sizeof ctx->u);
+    if (ret == 0)
+      ctx->have_u = true;
+  }
+
+#elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */
+
+  {
+    int ret = acl ((char *) name, ACL_GET, NACLENTRIES, ctx->entries);
+    if (ret < 0)
+      return -1;
+    else if (ret > NACLENTRIES)
+      /* If NACLENTRIES cannot be trusted, use dynamic memory allocation.  */
+      abort ();
+    ctx->count = ret;
+  }
+
+#endif
+
+  return 0;
+
+}
index 8d304f1165d4eaccf740a341639bdcdd51d172c1..1e17e193a81c203bca728c8c6a9658bf1063a833 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
    This file is part of gnulib.
 
    This program is free software: you can redistribute it and/or modify
index e8f371e6e4394c2008db49a38698839947729d58..db5279dba10a1eac065cc484ca0c1a8d97658db5 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1999, 2004-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1999, 2004-2015 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
    FIXME - if the kernel ever adds support for multi-thread safety for
    avoiding standard fds, then we should use opendir_safer and
    openat_safer.  */
-#undef opendir
-#undef closedir
+#ifdef GNULIB_defined_opendir
+# undef opendir
+#endif
+#ifdef GNULIB_defined_closedir
+# undef closedir
+#endif
 \f
 /* 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
index 3d47c9d40e7141d2b339569e11cce33732c58248..88258e556fe21e6774e23a6c66155a571e537887 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software
+   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2015 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
index 8c026873b12e9a449bfd8d4cbafd35d180f2aaee..03eb7ef1bffd1e793a5b802eb6f2ab4d6dc4b9cf 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* getdtablesize() function for platforms that don't have it.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -86,24 +84,38 @@ getdtablesize (void)
   return dtablesize;
 }
 
-#elif HAVE_GETDTABLESIZE
+#else
 
+# include <limits.h>
 # include <sys/resource.h>
-# undef getdtablesize
+
+# ifndef RLIM_SAVED_CUR
+#  define RLIM_SAVED_CUR RLIM_INFINITY
+# endif
+# ifndef RLIM_SAVED_MAX
+#  define RLIM_SAVED_MAX RLIM_INFINITY
+# endif
+
+# ifdef __CYGWIN__
+  /* Cygwin 1.7.25 auto-increases the RLIMIT_NOFILE soft limit until it
+     hits the compile-time constant hard limit of 3200.  We might as
+     well just report the hard limit.  */
+#  define rlim_cur rlim_max
+# endif
 
 int
-rpl_getdtablesize(void)
+getdtablesize (void)
 {
-  /* To date, this replacement is only compiled for Cygwin 1.7.25,
-     which auto-increased the RLIMIT_NOFILE soft limit until it
-     hits the compile-time constant hard limit of 3200.  Although
-     that version of cygwin supported a child process inheriting
-     a smaller soft limit, the smaller limit is not enforced, so
-     we might as well just report the hard limit.  */
   struct rlimit lim;
-  if (!getrlimit (RLIMIT_NOFILE, &lim) && lim.rlim_max != RLIM_INFINITY)
-    return lim.rlim_max;
-  return getdtablesize ();
+
+  if (getrlimit (RLIMIT_NOFILE, &lim) == 0
+      && 0 <= lim.rlim_cur && lim.rlim_cur <= INT_MAX
+      && lim.rlim_cur != RLIM_INFINITY
+      && lim.rlim_cur != RLIM_SAVED_CUR
+      && lim.rlim_cur != RLIM_SAVED_MAX)
+    return lim.rlim_cur;
+
+  return INT_MAX;
 }
 
 #endif
index 80d6fb212cb79c610333a22a2ad41a7d834a9f39..ef6adc8d89a30185429bf16f1a122ad7214071b9 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* wrap getfilecon, lgetfilecon, and fgetfilecon
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -59,6 +57,7 @@ map_to_failure (int ret, security_context_t *con)
   if (ret == 10 && strcmp (*con, "unlabeled") == 0)
     {
       freecon (*con);
+      *con = NULL;
       errno = ENODATA;
       return -1;
     }
index 16ba72182cba01a37593f14b2ffbd6fb12b4d2d3..5563dfb428096a2c24e65cefb10db4c7f769c827 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* provide consistent interface to getgroups for systems that don't allow N==0
 
-   Copyright (C) 1996, 1999, 2003, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1999, 2003, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f5b0cebfe18093d84a4c36087b90d29b2f9c92b0..811c773d28636d685398536f89e260d5c9aab6f8 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* getline.c --- Implementation of replacement getline function.
-   Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
index 2b041f6a8eedc1ec39289c140c29ab7d25f85236..212cbf7341074627ef9fa7440783aaab8643d9e2 100644 (file)
@@ -1,10 +1,8 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Getopt for GNU.
    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-2014 Free Software
+   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2015 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -489,7 +487,20 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
         const struct option *p;
         struct option_list *next;
       } *ambig_list = NULL;
+#ifdef _LIBC
+/* malloc() not used for _LIBC to simplify failure messages.  */
+# define free_option_list(l)
+#else
+# define free_option_list(l)                   \
+      while (l != NULL)                                \
+        {                                      \
+          struct option_list *pn = l->next;    \
+          free (l);                            \
+          l = pn;                              \
+        }
+#endif
       int exact = 0;
+      int ambig = 0;
       int indfound = -1;
       int option_index;
 
@@ -516,22 +527,37 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
                 pfound = p;
                 indfound = option_index;
               }
+            else if (ambig)
+              ; /* Taking simpler path to handling ambiguities.  */
             else if (long_only
                      || pfound->has_arg != p->has_arg
                      || pfound->flag != p->flag
                      || pfound->val != p->val)
               {
                 /* Second or later nonexact match found.  */
+#ifdef _LIBC
+                struct option_list *newp = alloca (sizeof (*newp));
+#else
                 struct option_list *newp = malloc (sizeof (*newp));
-                newp->p = p;
-                newp->next = ambig_list;
-                ambig_list = newp;
+                if (newp == NULL)
+                  {
+                    free_option_list (ambig_list);
+                    ambig_list = NULL;
+                    ambig = 1; /* Use simpler fallback message.  */
+                  }
+                else
+#endif
+                  {
+                    newp->p = p;
+                    newp->next = ambig_list;
+                    ambig_list = newp;
+                  }
               }
           }
 
-      if (ambig_list != NULL && !exact)
+      if ((ambig || ambig_list) && !exact)
         {
-          if (print_errors)
+          if (print_errors && ambig_list)
             {
               struct option_list first;
               first.p = pfound;
@@ -587,18 +613,20 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
               fputc ('\n', stderr);
 #endif
             }
+          else if (print_errors && ambig)
+            {
+              fprintf (stderr,
+                       _("%s: option '%s' is ambiguous\n"),
+                       argv[0], argv[d->optind]);
+            }
           d->__nextchar += strlen (d->__nextchar);
           d->optind++;
           d->optopt = 0;
+          free_option_list (ambig_list);
           return '?';
         }
 
-      while (ambig_list != NULL)
-        {
-          struct option_list *pn = ambig_list->next;
-          free (ambig_list);
-          ambig_list = pn;
-        }
+      free_option_list (ambig_list);
 
       if (pfound != NULL)
         {
index 98bc2f0ac9d333727ccfc20eb3854c578902ad7d..9248f76ec8b1b54e2f8e792aac464816c6e46454 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2015 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
index af3366b9eb4323143c9d669d99026b4b375e03d7..2b1feb6eadb7277139f5f633be149db91567a520 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software
+   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2015 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
index 8ad423686830d1a8d424029af16733a4f2dbb39a..e893a6e133f5b40de21eba3e2e18ea04cf9599b3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2015 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
index cf5254ab9140d0c1ef9d4e73b8fb6982dc3b66d6..10e9c18776b53a001f8aff6c64575a0ee94bdf02 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* getpagesize emulation for systems where it cannot be done in a C macro.
 
-   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 44197664834b4c281ba8188d248acee76f65acc7..599a14ec1b3201e206247d473b27e927cda99e21 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2014 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
index 39414c484636936cdf29a7743fba84797c9633c2..1c47e3b299579c250cde2f2cd64884d27b6e134a 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* gettime -- get the system clock
 
-   Copyright (C) 2002, 2004-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 6c6e2d0e91daa6bcfe083aa69d2f7beac3467fe3..e0e2e696d044b8375c13a2381c5d6467e2ad4c2d 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 57bbda54e999eced7279ddde3c017b5ac8a515d5..23074e4f693b4fc69cb6aeaa8aa540fccb37346c 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* group-member.c -- determine whether group id is in calling user's group list
 
-   Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2014 Free Software
+   Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index c90285b6f280f84fe31b78b3e1a35c72b2a897ff..4f27d5c8f821271d81e6dfbc64ed2f981e92ea4e 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* hash - hashing table processing.
 
-   Copyright (C) 1998-2004, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc.
 
    Written by Jim Meyering, 1992.
 
@@ -1118,14 +1116,6 @@ hash_insert_if_absent (Hash_table *table, void const *entry,
   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.
index ee887cf502eac8e2e5c1aeba263f19154d0a3297..1e90c31a6c2aac13e3034496539fc7b9ee9dc54b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* hash - hashing table processing.
-   Copyright (C) 1998-1999, 2001, 2003, 2009-2014 Free Software Foundation,
+   Copyright (C) 1998-1999, 2001, 2003, 2009-2015 Free Software Foundation,
    Inc.
    Written by Jim Meyering <meyering@ascend.com>, 1998.
 
@@ -98,10 +96,6 @@ void hash_free (Hash_table *);
 bool hash_rehash (Hash_table *, size_t) _GL_ATTRIBUTE_WUR;
 void *hash_insert (Hash_table *, const void *) _GL_ATTRIBUTE_WUR;
 
-/* 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 *);
index 93051aff5e9a68a7582bfac73ab18a9da0de6789..7863f9c7d8d879481630d839769aa371d9831f51 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* human.c -- print human readable file size
 
-   Copyright (C) 1996-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a1f67b9fd1eb1cd6f71352dd2b92f4d58799452b..464787f07041e65ecc067f7d326f02afdd248018 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* human.h -- print human readable file size
 
-   Copyright (C) 1996-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 68c18a538dd3c010131d12313c7cc65aa7dbd984..b91ac98c4e260a07b8c37ea04a3022f3ed2e5ac1 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define anytostr imaxtostr
 #define inttype intmax_t
 #include "anytostr.c"
index 8832000ff31014ddeea20885d9c162fe710fb046..f85ccade4e1adf07abf0e98ac82378b8da9f641a 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2005, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2005, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 696b03c726afac8a446c566543eaf7e6e314aacc..c96b5ca39be62bdeda4071ce6c46280f458c4449 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define anytostr inttostr
 #define inttype int
 #include "anytostr.c"
index d79b9e9d1bf30f89f3f3f320576df5d7b7e8bf0d..77818dd5c5523dfcc9be51821a067e1b7a74ae39 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* inttostr.h -- convert integers to printable strings
 
-   Copyright (C) 2001-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 65f62d14f5b42131c884aa5e24fc68a679f42e8f..78846f696839df88118cf05ac559c262496a83d4 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
 #endif
 /* Get CHAR_BIT.  */
 #include <limits.h>
+/* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <stdio.h>
+#endif
 
 #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
 # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
index 543df0620e7e1a8444af548170013e6d01441a2d..94be11592705bf1d823c5e5f858af82184b478a8 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test wide character for being blank.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index d5e44ddb7063ebed7e1305ea6cca904ea19630b3..1eee03e345833c4d69d6f3cb579154bd29a467ec 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Replacement for 'int' to 'long double' conversion routine.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
index 2fc1cf83140652129070a4149a71a76c9083b3bc..04fd535449f69b37c7b659420f061ab71b4fe67a 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <langinfo.h>.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -51,7 +49,10 @@ typedef int nl_item;
 # define CODESET     10000
 /* nl_langinfo items of the LC_NUMERIC category */
 # define RADIXCHAR   10001
+# define DECIMAL_POINT RADIXCHAR
 # define THOUSEP     10002
+# define THOUSANDS_SEP THOUSEP
+# define GROUPING    10114
 /* nl_langinfo items of the LC_TIME category */
 # define D_T_FMT     10003
 # define D_FMT       10004
@@ -104,6 +105,21 @@ typedef int nl_item;
 # define ALT_DIGITS  10051
 /* nl_langinfo items of the LC_MONETARY category */
 # define CRNCYSTR    10052
+# define CURRENCY_SYMBOL   CRNCYSTR
+# define INT_CURR_SYMBOL   10100
+# define MON_DECIMAL_POINT 10101
+# define MON_THOUSANDS_SEP 10102
+# define MON_GROUPING      10103
+# define POSITIVE_SIGN     10104
+# define NEGATIVE_SIGN     10105
+# define FRAC_DIGITS       10106
+# define INT_FRAC_DIGITS   10107
+# define P_CS_PRECEDES     10108
+# define N_CS_PRECEDES     10109
+# define P_SEP_BY_SPACE    10110
+# define N_SEP_BY_SPACE    10111
+# define P_SIGN_POSN       10112
+# define N_SIGN_POSN       10113
 /* nl_langinfo items of the LC_MESSAGES category */
 # define YESEXPR     10053
 # define NOEXPR      10054
index 6f30c2cfe713775b1729ee52763306510aa53e82..7f5f6026702ba8adc486a3efd901064cfa6f7c14 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide a stub lchown function for systems that lack it.
 
-   Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2014 Free Software
+   Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index c275301900239b5dfee5b6859abe963f4a7e2107..4151ea3251b51750b6a056caf8f265d26f889de4 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Emulate link on platforms that lack it, namely native Windows platforms.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 2874205414300cb9f55e7228f0d48913a88b41b6..4bdbae677a6ef8703c7930d66e20b3657c9df354 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Create a hard link relative to open directories.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -45,7 +43,7 @@
 # endif
 #endif
 
-#if !HAVE_LINKAT
+#if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
 
 /* Create a link.  If FILE1 is a symlink, either create a hardlink to
    that symlink, or fake it by creating an identical symlink.  */
@@ -197,6 +195,10 @@ solaris_optimized_link_follow (char const *file1, char const *file2)
 
 # endif
 
+#endif /* !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP  */
+
+#if !HAVE_LINKAT
+
 /* Create a link to FILE1, in the directory open on descriptor FD1, to FILE2,
    in the directory open on descriptor FD2.  If FILE1 is a symlink, FLAG
    controls whether to dereference FILE1 first.  If possible, do it without
@@ -323,7 +325,17 @@ rpl_linkat (int fd1, char const *file1, int fd2, char const *file2, int flag)
 # endif
 
   if (!flag)
-    return linkat (fd1, file1, fd2, file2, flag);
+    {
+      int result = linkat (fd1, file1, fd2, file2, flag);
+# if LINKAT_SYMLINK_NOTSUP
+      /* OS X 10.10 has linkat() but it doesn't support
+         hardlinks to symlinks.  Fallback to our emulation
+         in that case.  */
+      if (result == -1 && (errno == ENOTSUP || errno == EOPNOTSUPP))
+        return at_func2 (fd1, file1, fd2, file2, link_immediate);
+# endif
+      return result;
+    }
 
   /* Cache the information on whether the system call really works.  */
   {
index c411de1efbed2d8d993f538d20115a4e7ab9eee5..1f02aa598822524cca034ff4d0cc4aff60f4141b 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2006, 2008-2015 Free Software Foundation, Inc.
 
    This 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,6 +34,7 @@
 
 #if defined _WIN32 || defined __WIN32__
 # define WINDOWS_NATIVE
+# include <locale.h>
 #endif
 
 #if defined __EMX__
@@ -129,7 +128,7 @@ get_charset_aliases (void)
   cp = charset_aliases;
   if (cp == NULL)
     {
-#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__)
+#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__ || defined OS2)
       const char *dir;
       const char *base = "charset.alias";
       char *file_name;
@@ -343,6 +342,36 @@ get_charset_aliases (void)
            "CP54936" "\0" "GB18030" "\0"
            "CP65001" "\0" "UTF-8" "\0";
 # endif
+# if defined OS2
+      /* 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.  */
+
+      /* The list of encodings is taken from "List of OS/2 Codepages"
+         by Alex Taylor:
+         <http://altsan.org/os2/toolkits/uls/index.html#codepages>.
+         See also "IBM Globalization - Code page identifiers":
+         <http://www-01.ibm.com/software/globalization/cp/cp_cpgid.html>.  */
+      cp = "CP813" "\0" "ISO-8859-7" "\0"
+           "CP878" "\0" "KOI8-R" "\0"
+           "CP819" "\0" "ISO-8859-1" "\0"
+           "CP912" "\0" "ISO-8859-2" "\0"
+           "CP913" "\0" "ISO-8859-3" "\0"
+           "CP914" "\0" "ISO-8859-4" "\0"
+           "CP915" "\0" "ISO-8859-5" "\0"
+           "CP916" "\0" "ISO-8859-8" "\0"
+           "CP920" "\0" "ISO-8859-9" "\0"
+           "CP921" "\0" "ISO-8859-13" "\0"
+           "CP923" "\0" "ISO-8859-15" "\0"
+           "CP954" "\0" "EUC-JP" "\0"
+           "CP964" "\0" "EUC-TW" "\0"
+           "CP970" "\0" "EUC-KR" "\0"
+           "CP1089" "\0" "ISO-8859-6" "\0"
+           "CP1208" "\0" "UTF-8" "\0"
+           "CP1381" "\0" "GB2312" "\0"
+           "CP1386" "\0" "GBK" "\0"
+           "CP3372" "\0" "EUC-JP" "\0";
+# endif
 #endif
 
       charset_aliases = cp;
@@ -463,14 +492,34 @@ locale_charset (void)
 
   static char buf[2 + 10 + 1];
 
-  /* 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.
-     But in GUI programs and for output sent to files and pipes, GetACP()
-     encoding is the best bet.  */
-  sprintf (buf, "CP%u", GetACP ());
+  /* The Windows API has a function returning the locale's codepage as
+     a number, but the value doesn't change according to what the
+     'setlocale' call specified.  So we use it as a last resort, in
+     case the string returned by 'setlocale' doesn't specify the
+     codepage.  */
+  char *current_locale = setlocale (LC_ALL, NULL);
+  char *pdot;
+
+  /* If they set different locales for different categories,
+     'setlocale' will return a semi-colon separated list of locale
+     values.  To make sure we use the correct one, we choose LC_CTYPE.  */
+  if (strchr (current_locale, ';'))
+    current_locale = setlocale (LC_CTYPE, NULL);
+
+  pdot = strrchr (current_locale, '.');
+  if (pdot)
+    sprintf (buf, "CP%s", pdot + 1);
+  else
+    {
+      /* 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.
+        But in GUI programs and for output sent to files and pipes, GetACP()
+        encoding is the best bet.  */
+      sprintf (buf, "CP%u", GetACP ());
+    }
   codeset = buf;
 
 #elif defined OS2
@@ -480,6 +529,8 @@ locale_charset (void)
   ULONG cp[3];
   ULONG cplen;
 
+  codeset = NULL;
+
   /* Allow user to override the codeset, as set in the operating system,
      with standard language environment variables.  */
   locale = getenv ("LC_ALL");
@@ -511,10 +562,12 @@ locale_charset (void)
             }
         }
 
-      /* Resolve through the charset.alias file.  */
-      codeset = locale;
+      /* For the POSIX locale, don't use the system's codepage.  */
+      if (strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0)
+        codeset = "";
     }
-  else
+
+  if (codeset == NULL)
     {
       /* OS/2 has a function returning the locale's codepage as a number.  */
       if (DosQueryCp (sizeof (cp), cp, &cplen))
index 481cbb3ca91dc444b564988db2337e4fe934b7d5..c5e6d463505a8e545f041c4167524d8d5dfd7fd4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2009-2015 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
index 72bfcc2f52f42bd62fbbf0bfaf906d1868e78072..05e974df2c66302472c80844af6d7bd5609bceb7 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b674c836f0b1fb16c73bf52bb904656152062a8b..8f2d08402fb989ab0c74a630a45a3a255e05fc49 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Query locale dependent information for formatting numbers.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 40f01e17bd73f720bbe5247f9ae67f096f120309..fdec6cdf91170679af9546d431859bb55e68be0b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* An lseek() function that detects pipes.
-   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 2cf429d3627e10e359246ce7df2e55596a152d71..31dee1387f50b7baf0385fdef6ca09c85ed07bea 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997-2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 83c515577e06cb37849287799fbf6d0a867d74f9..00800a2848fa5a54d229d38511eba74d865aa98d 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 56294e638936fcbe4d47b72426f098692a6f6936..198a96ce7406e0e5b249d7b58d4535f195d1f4b5 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
index 09d25a335c798d6a509e8047336ca3b1745d4873..7a4190cfe4e8e88872c4fcb251b4e764984770f4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
index b4ebd92268b2765da41e41d374f2b8b70a149486..ae9b7eb9f0c8af9daacee73f3ee817dee281a82e 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001, 2006, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 4c95ccb64ae3bd9251240e955c96e6293840f2d1..fcdefaf0ec85c81a9a50fd769ad92467037faed2 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Multibyte character data type.
-   Copyright (C) 2001, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2005-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 50e37b9754094fb1e1abe0831dcf57f3532f3e74..e49d55b3b1037dfdd7cab83f9be98fe8aa53ec56 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert multibyte character to wide character.
-   Copyright (C) 1999-2002, 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2005-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -330,7 +328,7 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
 size_t
 rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
 {
-# if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG
+# if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG || MBRTOWC_EMPTY_INPUT_BUG
   if (s == NULL)
     {
       pwc = NULL;
@@ -339,6 +337,11 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
     }
 # endif
 
+# if MBRTOWC_EMPTY_INPUT_BUG
+  if (n == 0)
+    return (size_t) -2;
+# endif
+
 # if MBRTOWC_RETVAL_BUG
   {
     static mbstate_t internal_state;
index b0e58719a4c2f4747100a99b6e8b27d13b853acf..9288fb29db05bf6ef01899e62cdabd5214d1dd0b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2005,
    based on earlier glibc code.
 
index c27330aae5ae9d7472523f2cab5b86a7152a0928..4effdd8047ddbc7f499073ae0c7d11f90f155cce 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test for initial conversion state.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index 444c664c4f85f52a882407a9f21859d0a1476811..a0f4271742a5709be9cb5cf7d68711c8193345c0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert string to wide string.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index becfd99951665d35d2c2dfd9c8716d8d70f349d6..522eb69068206f74bc8add8ded86523f67c6968b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert string to wide string.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index e0f9bd1ca4b0a3acebd0dcd0732058de4022de83..c37eba72c92e2111796dd16e7fd94462fcb7403f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert string to wide string.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index 08eced8e6e22ff6eb15e604ed96e9043c000f3c3..5c60478aedd1dec3771bee9108c1e130ef23cdd3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert multibyte character to wide character.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
index 10fcb23392c14e884a21e3047ae5a23af065009d..e58053d16095a8a5e99142f40a3bd4249fbbddf6 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert multibyte character to wide character.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
index 3be645fcd85e2684c6f0c98d8a80da19f9d14dcb..9167580d0d875a047e4713b70a267ae199b4e1c1 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define MBUITER_INLINE _GL_EXTERN_INLINE
 #include "mbuiter.h"
index e886e93be11e22f8fa02f236616b3e0c51a4f20e..acdec297a102619beea64b9c094b9398eb4dbadd 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 5a71e2dc64fac2d4154d5c6ab9c99b938604e8a2..f74cc9afc13d9448d8ad2bfcbd0898b91dff601d 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2014
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2015
    Free Software Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
index 2a075d49f1481af00d6e8498992ac6649cdf3fe7..e9f2e34fa60877be349ea12896a37533a750b3aa 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 4ad82bba1b50232cc6c1d6821d325215b72169ce..3827208d800df0d0523ba0ff36bea4f786192436 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* 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-2014 Free Software
+   Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2015 Free Software
    Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
index 38f185868259df070734ae3e8f3e3c0a43349877..37de12e3fa05f07b587fdc72233bcb95fe4be047 100644 (file)
@@ -1,9 +1,7 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2006, 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8f4283705c2bf1464fef2bb62730a886b35f5511..3012ac4cbb5284ae57e6f24d9d038536801e627d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* fd-relative mkdir
-   Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f70e18c522f8d68ab71662ea4d1f6f3c449da447..95553926eaaa7a29949675848d1ef1eff68a3bd2 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2014 Free Software
+/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2015 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
index 31e8059fc0648b380ef1c847a26d6cbe071fe7b2..ae4b93098c644dec36afe21563a1fa0de4fdc415 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Create a named fifo.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 39fdcc81ff220e0e63c2c576a70772d5b819ea15..4d2359044278b274332b48fc11081c36efefd545 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Create a named fifo relative to an open directory.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 79f35afbf977eec5b35cc2e51c548ee82e473a79..86a7c39d6c711e07bf61bfb82eea6509744b3fea 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Create a device inode.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 01104236c2f1b4a94efb9bbe695363c34dfd8c3a..87599f7289d2d4c44680cec0d3434411f34f4f5b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Create an inode relative to an open directory.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8a1259ef30d48c48c98ca4c0c2d86d215fbc5ddf..4287acf4aca14e869d4e89e0b645539d1618047c 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <time.h>
 time_t mktime_internal (struct tm *,
                         struct tm * (*) (time_t const *, struct tm *),
index 470ebaa4ae65061d668b863822b9e312a11b565d..580bc8ed0043ddec65f84e6ec7171a0b508e343f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert a 'struct tm' to a time_t value.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Paul Eggert <eggert@twinsun.com>.
 
@@ -40,7 +38,7 @@
 
 #include <string.h>            /* For the real memcpy prototype.  */
 
-#if DEBUG
+#if defined DEBUG && DEBUG
 # include <stdio.h>
 # include <stdlib.h>
 /* Make it work even if the system's libc has its own mktime routine.  */
@@ -602,7 +600,7 @@ libc_hidden_def (mktime)
 libc_hidden_weak (timelocal)
 #endif
 \f
-#if DEBUG
+#if defined DEBUG && DEBUG
 
 static int
 not_equal_tm (const struct tm *a, const struct tm *b)
index 17d38b497aa6cefc95cf26da61740def9dde63b4..9f707546bd654cba50b0f21f3ca15a20746fd215 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* modechange.c -- file mode manipulation
 
-   Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 774cb10043701d3486675733e1053f2a22b1c243..db80ddf22398bc11731246d8c01bcdaab10075df 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* modechange.h -- definitions for file mode manipulation
 
-   Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 0babb47f48581d0e7085f61467f6a6fbf70d5524..a1f1dc0ee056893f68ad26a5f40ef7271f4bcfba 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 169da8d1999b98585ed050e1d81b273a505fdc29..8b07269a7040593b86545dc20cb72f6a682886ac 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 5603cabee3829a79683de509a346b5f7510050f7..90cf8014e53fc064d89d57e4cf13dcc57b1b8af6 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 58caa1ae5e2900d171a4844db4ec0a044bf63832..67b151e65ebb3606b0ef5cf098c4a98bb842e668 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f42273273828733395e75f667c536edcf4ce3017..79b0406ee349438dc0441a4171ac061446fbfcd0 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* nl_langinfo() replacement: query locale dependent information.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 /* Specification.  */
 #include <langinfo.h>
 
+#include <locale.h>
+#include <string.h>
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+# include <windows.h>
+# include <stdio.h>
+#endif
+
+/* Return the codeset of the current locale, if this is easily deducible.
+   Otherwise, return "".  */
+static char *
+ctype_codeset (void)
+{
+  static char buf[2 + 10 + 1];
+  size_t buflen = 0;
+  char const *locale = setlocale (LC_CTYPE, NULL);
+  char *codeset = buf;
+  size_t codesetlen;
+  codeset[0] = '\0';
+
+  if (locale && locale[0])
+    {
+      /* If the locale name contains an encoding after the dot, return it.  */
+      char *dot = strchr (locale, '.');
+
+      if (dot)
+        {
+          /* Look for the possible @... trailer and remove it, if any.  */
+          char *codeset_start = dot + 1;
+          char const *modifier = strchr (codeset_start, '@');
+
+          if (! modifier)
+            codeset = codeset_start;
+          else
+            {
+              codesetlen = modifier - codeset_start;
+              if (codesetlen < sizeof buf)
+                {
+                  codeset = memcpy (buf, codeset_start, codesetlen);
+                  codeset[codesetlen] = '\0';
+                }
+            }
+        }
+    }
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+  /* If setlocale is successful, it returns the number of the
+     codepage, as a string.  Otherwise, fall back on Windows API
+     GetACP, which returns the locale's codepage as a number (although
+     this doesn't change according to what the 'setlocale' call specified).
+     Either way, prepend "CP" to make it a valid codeset name.  */
+  codesetlen = strlen (codeset);
+  if (0 < codesetlen && codesetlen < sizeof buf - 2)
+    memmove (buf + 2, codeset, codesetlen + 1);
+  else
+    sprintf (buf + 2, "%u", GetACP ());
+  codeset = memcpy (buf, "CP", 2);
+#endif
+  return codeset;
+}
+
+
 #if REPLACE_NL_LANGINFO
 
 /* Override nl_langinfo with support for added nl_item values.  */
 
-# include <locale.h>
-# include <string.h>
-
 # undef nl_langinfo
 
 char *
@@ -38,36 +95,7 @@ rpl_nl_langinfo (nl_item item)
     {
 # if GNULIB_defined_CODESET
     case CODESET:
-      {
-        const char *locale;
-        static char buf[2 + 10 + 1];
-
-        locale = setlocale (LC_CTYPE, NULL);
-        if (locale != NULL && locale[0] != '\0')
-          {
-            /* If the locale name contains an encoding after the dot, return
-               it.  */
-            const char *dot = strchr (locale, '.');
-
-            if (dot != NULL)
-              {
-                const char *modifier;
-
-                dot++;
-                /* Look for the possible @... trailer and remove it, if any.  */
-                modifier = strchr (dot, '@');
-                if (modifier == NULL)
-                  return dot;
-                if (modifier - dot < sizeof (buf))
-                  {
-                    memcpy (buf, dot, modifier - dot);
-                    buf [modifier - dot] = '\0';
-                    return buf;
-                  }
-              }
-          }
-        return "";
-      }
+      return ctype_codeset ();
 # endif
 # if GNULIB_defined_T_FMT_AMPM
     case T_FMT_AMPM:
@@ -113,42 +141,28 @@ rpl_nl_langinfo (nl_item item)
 
 #else
 
-/* Provide nl_langinfo from scratch.  */
-
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Provide nl_langinfo from scratch, either for native MS-Windows, or
+   for old Unix platforms without locales, such as Linux libc5 or
+   BeOS.  */
 
-/* Native Windows platforms.  */
-
-#  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
-#  include <windows.h>
-
-#  include <stdio.h>
-
-# else
-
-/* An old Unix platform without locales, such as Linux libc5 or BeOS.  */
-
-# endif
-
-# include <locale.h>
+# include <time.h>
 
 char *
 nl_langinfo (nl_item item)
 {
+  static char nlbuf[100];
+  struct tm tmm = { 0 };
+
   switch (item)
     {
     /* nl_langinfo items of the LC_CTYPE category */
     case CODESET:
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
       {
-        static char buf[2 + 10 + 1];
-
-        /* The Windows API has a function returning the locale's codepage as
-           a number.  */
-        sprintf (buf, "CP%u", GetACP ());
-        return buf;
+        char *codeset = ctype_codeset ();
+        if (*codeset)
+          return codeset;
       }
-# elif defined __BEOS__
+# ifdef __BEOS__
       return "UTF-8";
 # else
       return "ISO-8859-1";
@@ -158,6 +172,8 @@ nl_langinfo (nl_item item)
       return localeconv () ->decimal_point;
     case THOUSEP:
       return localeconv () ->thousands_sep;
+    case GROUPING:
+      return localeconv () ->grouping;
     /* nl_langinfo items of the LC_TIME category.
        TODO: Really use the locale.  */
     case D_T_FMT:
@@ -172,93 +188,126 @@ nl_langinfo (nl_item item)
     case T_FMT_AMPM:
       return "%I:%M:%S %p";
     case AM_STR:
-      return "AM";
+      if (!strftime (nlbuf, sizeof nlbuf, "%p", &tmm))
+        return "AM";
+      return nlbuf;
     case PM_STR:
-      return "PM";
+      tmm.tm_hour = 12;
+      if (!strftime (nlbuf, sizeof nlbuf, "%p", &tmm))
+        return "PM";
+      return nlbuf;
     case DAY_1:
-      return "Sunday";
     case DAY_2:
-      return "Monday";
     case DAY_3:
-      return "Tuesday";
     case DAY_4:
-      return "Wednesday";
     case DAY_5:
-      return "Thursday";
     case DAY_6:
-      return "Friday";
     case DAY_7:
-      return "Saturday";
+      {
+        static char const days[][sizeof "Wednesday"] = {
+          "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
+          "Friday", "Saturday"
+        };
+        tmm.tm_wday = item - DAY_1;
+        if (!strftime (nlbuf, sizeof nlbuf, "%A", &tmm))
+          return (char *) days[item - DAY_1];
+        return nlbuf;
+      }
     case ABDAY_1:
-      return "Sun";
     case ABDAY_2:
-      return "Mon";
     case ABDAY_3:
-      return "Tue";
     case ABDAY_4:
-      return "Wed";
     case ABDAY_5:
-      return "Thu";
     case ABDAY_6:
-      return "Fri";
     case ABDAY_7:
-      return "Sat";
+      {
+        static char const abdays[][sizeof "Sun"] = {
+          "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+        };
+        tmm.tm_wday = item - ABDAY_1;
+        if (!strftime (nlbuf, sizeof nlbuf, "%a", &tmm))
+          return (char *) abdays[item - ABDAY_1];
+        return nlbuf;
+      }
     case MON_1:
-      return "January";
     case MON_2:
-      return "February";
     case MON_3:
-      return "March";
     case MON_4:
-      return "April";
     case MON_5:
-      return "May";
     case MON_6:
-      return "June";
     case MON_7:
-      return "July";
     case MON_8:
-      return "August";
     case MON_9:
-      return "September";
     case MON_10:
-      return "October";
     case MON_11:
-      return "November";
     case MON_12:
-      return "December";
+      {
+        static char const months[][sizeof "September"] = {
+          "January", "February", "March", "April", "May", "June", "July",
+          "September", "October", "November", "December"
+        };
+        tmm.tm_mon = item - MON_1;
+        if (!strftime (nlbuf, sizeof nlbuf, "%B", &tmm))
+          return (char *) months[item - MON_1];
+        return nlbuf;
+      }
     case ABMON_1:
-      return "Jan";
     case ABMON_2:
-      return "Feb";
     case ABMON_3:
-      return "Mar";
     case ABMON_4:
-      return "Apr";
     case ABMON_5:
-      return "May";
     case ABMON_6:
-      return "Jun";
     case ABMON_7:
-      return "Jul";
     case ABMON_8:
-      return "Aug";
     case ABMON_9:
-      return "Sep";
     case ABMON_10:
-      return "Oct";
     case ABMON_11:
-      return "Nov";
     case ABMON_12:
-      return "Dec";
+      {
+        static char const abmonths[][sizeof "Jan"] = {
+          "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
+          "Sep", "Oct", "Nov", "Dec"
+        };
+        tmm.tm_mon = item - ABMON_1;
+        if (!strftime (nlbuf, sizeof nlbuf, "%b", &tmm))
+          return (char *) abmonths[item - ABMON_1];
+        return nlbuf;
+      }
     case ERA:
       return "";
     case ALT_DIGITS:
       return "\0\0\0\0\0\0\0\0\0\0";
-    /* nl_langinfo items of the LC_MONETARY category
-       TODO: Really use the locale. */
+    /* nl_langinfo items of the LC_MONETARY category.  */
     case CRNCYSTR:
-      return "-";
+      return localeconv () ->currency_symbol;
+    case INT_CURR_SYMBOL:
+      return localeconv () ->int_curr_symbol;
+    case MON_DECIMAL_POINT:
+      return localeconv () ->mon_decimal_point;
+    case MON_THOUSANDS_SEP:
+      return localeconv () ->mon_thousands_sep;
+    case MON_GROUPING:
+      return localeconv () ->mon_grouping;
+    case POSITIVE_SIGN:
+      return localeconv () ->positive_sign;
+    case NEGATIVE_SIGN:
+      return localeconv () ->negative_sign;
+    case FRAC_DIGITS:
+      return & localeconv () ->frac_digits;
+    case INT_FRAC_DIGITS:
+      return & localeconv () ->int_frac_digits;
+    case P_CS_PRECEDES:
+      return & localeconv () ->p_cs_precedes;
+    case N_CS_PRECEDES:
+      return & localeconv () ->n_cs_precedes;
+    case P_SEP_BY_SPACE:
+      return & localeconv () ->p_sep_by_space;
+    case N_SEP_BY_SPACE:
+      return & localeconv () ->n_sep_by_space;
+    case P_SIGN_POSN:
+      return & localeconv () ->p_sign_posn;
+    case N_SIGN_POSN:
+      return & localeconv () ->n_sign_posn;
     /* nl_langinfo items of the LC_MESSAGES category
        TODO: Really use the locale. */
     case YESEXPR:
index 1aba44c490afa502dd582fc009db025d079c3c1c..dd6e1f70e9292f09fd40a18c94696f6e20d6c956 100644 (file)
@@ -1,34 +1,32 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* obstack.c - subroutines used implicitly by object stack macros
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
 
-   Copyright (C) 1988-1994, 1996-2006, 2009-2014 Free Software Foundation, Inc.
+   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 free software: you can redistribute 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 the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifdef _LIBC
 # include <obstack.h>
-# include <shlib-compat.h>
 #else
 # include <config.h>
 # include "obstack.h"
 #endif
 
-/* NOTE BEFORE MODIFYING THIS FILE: This version number must be
-   incremented whenever callers compiled using an old obstack.h can no
-   longer properly call the functions in this obstack.c.  */
-#define OBSTACK_INTERFACE_VERSION 1
+/* NOTE BEFORE MODIFYING THIS FILE: _OBSTACK_INTERFACE_VERSION in
+   obstack.h must be incremented whenever callers compiled using an old
+   obstack.h can no longer properly call the functions in this file.  */
 
 /* Comment out all this code if we are using the GNU C Library, and are not
    actually compiling the library itself, and the installed library
    (especially if it is a shared library).  Rather than having every GNU
    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 <stdio.h>              /* Random thing to get __GNU_LIBRARY__.  */
 #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
 # include <gnu-versions.h>
-# if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
-#  define ELIDE_CODE
+# if (_GNU_OBSTACK_INTERFACE_VERSION == _OBSTACK_INTERFACE_VERSION           \
+      || (_GNU_OBSTACK_INTERFACE_VERSION == 1                                \
+          && _OBSTACK_INTERFACE_VERSION == 2                                 \
+          && defined SIZEOF_INT && defined SIZEOF_SIZE_T                     \
+          && SIZEOF_INT == SIZEOF_SIZE_T))
+#  define _OBSTACK_ELIDE_CODE
 # endif
 #endif
 
-#include <stddef.h>
-
-#ifndef ELIDE_CODE
-
+#ifndef _OBSTACK_ELIDE_CODE
+/* If GCC, or if an oddball (testing?) host that #defines __alignof__,
+   use the already-supplied __alignof__.  Otherwise, this must be Gnulib
+   (as glibc assumes GCC); defer to Gnulib's alignof_type.  */
+# if !defined __GNUC__ && !defined __alignof__
+#  include <alignof.h>
+#  define __alignof__(type) alignof_type (type)
+# endif
+# include <stdlib.h>
 # include <stdint.h>
 
-/* Determine default alignment.  */
-union fooround
-{
-  uintmax_t i;
-  long double d;
-  void *p;
-};
-struct fooalign
-{
-  char c;
-  union fooround u;
-};
-/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT.
-   But in fact it might be less smart and round addresses to as much as
-   DEFAULT_ROUNDING.  So we prepare for it to do that.  */
-enum
-  {
-    DEFAULT_ALIGNMENT = offsetof (struct fooalign, u),
-    DEFAULT_ROUNDING = sizeof (union fooround)
-  };
-
-/* 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.  */
-# ifndef COPYING_UNIT
-#  define COPYING_UNIT int
+# ifndef MAX
+#  define MAX(a,b) ((a) > (b) ? (a) : (b))
 # endif
 
+/* Determine default alignment.  */
 
-/* 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 _Noreturn void print_and_abort (void);
-void (*obstack_alloc_failed_handler) (void) = print_and_abort;
+/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT.
+   But in fact it might be less smart and round addresses to as much as
+   DEFAULT_ROUNDING.  So we prepare for it to do that.
+
+   DEFAULT_ALIGNMENT cannot be an enum constant; see gnulib's alignof.h.  */
+#define DEFAULT_ALIGNMENT MAX (__alignof__ (long double),                    \
+                               MAX (__alignof__ (uintmax_t),                 \
+                                    __alignof__ (void *)))
+#define DEFAULT_ROUNDING MAX (sizeof (long double),                          \
+                               MAX (sizeof (uintmax_t),                              \
+                                    sizeof (void *)))
+
+/* Call functions with either the traditional malloc/free calling
+   interface, or the mmalloc/mfree interface (that adds an extra first
+   argument), based on the value of use_extra_arg.  */
+
+static void *
+call_chunkfun (struct obstack *h, size_t size)
+{
+  if (h->use_extra_arg)
+    return h->chunkfun.extra (h->extra_arg, size);
+  else
+    return h->chunkfun.plain (size);
+}
 
-/* Exit value used when 'print_and_abort' is used.  */
-# include <stdlib.h>
-# ifdef _LIBC
-int obstack_exit_failure = EXIT_FAILURE;
-# else
-#  include "exitfail.h"
-#  define obstack_exit_failure exit_failure
-# endif
+static void
+call_freefun (struct obstack *h, void *old_chunk)
+{
+  if (h->use_extra_arg)
+    h->freefun.extra (h->extra_arg, old_chunk);
+  else
+    h->freefun.plain (old_chunk);
+}
 
-# ifdef _LIBC
-#  if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
-/* A looong time ago (before 1994, anyway; we're not sure) this global variable
-   was used by non-GNU-C macros to avoid multiple evaluation.  The GNU C
-   library still exports it because somebody might use it.  */
-struct obstack *_obstack_compat;
-compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0);
-#  endif
-# endif
 
-/* Define a macro that either calls functions with the traditional malloc/free
-   calling interface, or calls functions with the mmalloc/mfree interface
-   (that adds an extra first argument), based on the state of use_extra_arg.
-   For free, do not use ?:, since some compilers, like the MIPS compilers,
-   do not allow (expr) ? void : void.  */
-
-# define CALL_CHUNKFUN(h, size) \
-  (((h) -> use_extra_arg) \
-   ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
-   : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
-
-# define CALL_FREEFUN(h, old_chunk) \
-  do { \
-    if ((h) -> use_extra_arg) \
-      (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
-    else \
-      (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
-  } while (0)
-
-\f
 /* Initialize an obstack H for use.  Specify chunk size SIZE (0 means default).
    Objects start on multiples of ALIGNMENT (0 means use default).
-   CHUNKFUN is the function to use to allocate chunks,
-   and FREEFUN the function to free them.
 
    Return nonzero if successful, calls obstack_alloc_failed_handler if
    allocation fails.  */
 
-int
-_obstack_begin (struct obstack *h,
-                int size, int alignment,
-                void *(*chunkfun) (long),
-                void (*freefun) (void *))
+static int
+_obstack_begin_worker (struct obstack *h,
+                       _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment)
 {
-  register struct _obstack_chunk *chunk; /* points to new chunk */
+  struct _obstack_chunk *chunk; /* points to new chunk */
 
   if (alignment == 0)
     alignment = DEFAULT_ALIGNMENT;
@@ -166,19 +130,15 @@ _obstack_begin (struct obstack *h,
       size = 4096 - extra;
     }
 
-  h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun;
-  h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
   h->chunk_size = size;
   h->alignment_mask = alignment - 1;
-  h->use_extra_arg = 0;
 
-  chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
+  chunk = h->chunk = call_chunkfun (h, h->chunk_size);
   if (!chunk)
     (*obstack_alloc_failed_handler) ();
   h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents,
                                                alignment - 1);
-  h->chunk_limit = chunk->limit
-    = (char *) chunk + h->chunk_size;
+  h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size;
   chunk->prev = 0;
   /* The initial chunk now contains no empty object.  */
   h->maybe_empty_object = 0;
@@ -187,51 +147,29 @@ _obstack_begin (struct obstack *h,
 }
 
 int
-_obstack_begin_1 (struct obstack *h, int size, int alignment,
-                  void *(*chunkfun) (void *, long),
+_obstack_begin (struct obstack *h,
+                _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment,
+                void *(*chunkfun) (size_t),
+                void (*freefun) (void *))
+{
+  h->chunkfun.plain = chunkfun;
+  h->freefun.plain = freefun;
+  h->use_extra_arg = 0;
+  return _obstack_begin_worker (h, size, alignment);
+}
+
+int
+_obstack_begin_1 (struct obstack *h,
+                  _OBSTACK_SIZE_T size, _OBSTACK_SIZE_T alignment,
+                  void *(*chunkfun) (void *, size_t),
                   void (*freefun) (void *, void *),
                   void *arg)
 {
-  register struct _obstack_chunk *chunk; /* points to new chunk */
-
-  if (alignment == 0)
-    alignment = DEFAULT_ALIGNMENT;
-  if (size == 0)
-    /* Default size is what GNU malloc can fit in a 4096-byte block.  */
-    {
-      /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc.
-         Use the values for range checking, because if range checking is off,
-         the extra bytes won't be missed terribly, but if range checking is on
-         and we used a larger request, a whole extra 4096 bytes would be
-         allocated.
-
-         These number are irrelevant to the new GNU malloc.  I suspect it is
-         less sensitive to the size of the request.  */
-      int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1))
-                    + 4 + DEFAULT_ROUNDING - 1)
-                   & ~(DEFAULT_ROUNDING - 1));
-      size = 4096 - extra;
-    }
-
-  h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun;
-  h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
-  h->chunk_size = size;
-  h->alignment_mask = alignment - 1;
+  h->chunkfun.extra = chunkfun;
+  h->freefun.extra = freefun;
   h->extra_arg = arg;
   h->use_extra_arg = 1;
-
-  chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
-  if (!chunk)
-    (*obstack_alloc_failed_handler) ();
-  h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents,
-                                               alignment - 1);
-  h->chunk_limit = chunk->limit
-    = (char *) chunk + h->chunk_size;
-  chunk->prev = 0;
-  /* The initial chunk now contains no empty object.  */
-  h->maybe_empty_object = 0;
-  h->alloc_failed = 0;
-  return 1;
+  return _obstack_begin_worker (h, size, alignment);
 }
 
 /* Allocate a new current chunk for the obstack *H
@@ -241,25 +179,27 @@ _obstack_begin_1 (struct obstack *h, int size, int alignment,
    to the beginning of the new one.  */
 
 void
-_obstack_newchunk (struct obstack *h, int length)
+_obstack_newchunk (struct obstack *h, _OBSTACK_SIZE_T length)
 {
-  register struct _obstack_chunk *old_chunk = h->chunk;
-  register struct _obstack_chunk *new_chunk;
-  register long new_size;
-  register long obj_size = h->next_free - h->object_base;
-  register long i;
-  long already;
+  struct _obstack_chunk *old_chunk = h->chunk;
+  struct _obstack_chunk *new_chunk = 0;
+  size_t obj_size = h->next_free - h->object_base;
   char *object_base;
 
   /* Compute size for new chunk.  */
-  new_size = (obj_size + length) + (obj_size >> 3) + h->alignment_mask + 100;
+  size_t sum1 = obj_size + length;
+  size_t sum2 = sum1 + h->alignment_mask;
+  size_t new_size = sum2 + (obj_size >> 3) + 100;
+  if (new_size < sum2)
+    new_size = sum2;
   if (new_size < h->chunk_size)
     new_size = h->chunk_size;
 
   /* Allocate and initialize the new chunk.  */
-  new_chunk = CALL_CHUNKFUN (h, new_size);
+  if (obj_size <= sum1 && sum1 <= sum2)
+    new_chunk = call_chunkfun (h, new_size);
   if (!new_chunk)
-    (*obstack_alloc_failed_handler) ();
+    (*obstack_alloc_failed_handler)();
   h->chunk = new_chunk;
   new_chunk->prev = old_chunk;
   new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size;
@@ -268,36 +208,19 @@ _obstack_newchunk (struct obstack *h, int length)
   object_base =
     __PTR_ALIGN ((char *) new_chunk, new_chunk->contents, h->alignment_mask);
 
-  /* Move the existing object to the new chunk.
-     Word at a time is fast and is safe if the object
-     is sufficiently aligned.  */
-  if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT)
-    {
-      for (i = obj_size / sizeof (COPYING_UNIT) - 1;
-           i >= 0; i--)
-        ((COPYING_UNIT *)object_base)[i]
-          = ((COPYING_UNIT *)h->object_base)[i];
-      /* We used to copy the odd few remaining bytes as one extra COPYING_UNIT,
-         but that can cross a page boundary on a machine
-         which does not do strict alignment for COPYING_UNITS.  */
-      already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT);
-    }
-  else
-    already = 0;
-  /* Copy remaining bytes one by one.  */
-  for (i = already; i < obj_size; i++)
-    object_base[i] = h->object_base[i];
+  /* Move the existing object to the new chunk.  */
+  memcpy (object_base, h->object_base, obj_size);
 
   /* If the object just copied was the only data in OLD_CHUNK,
      free that chunk and remove it from the chain.
      But not if that chunk might contain an empty object.  */
-  if (! h->maybe_empty_object
+  if (!h->maybe_empty_object
       && (h->object_base
           == __PTR_ALIGN ((char *) old_chunk, old_chunk->contents,
                           h->alignment_mask)))
     {
       new_chunk->prev = old_chunk->prev;
-      CALL_FREEFUN (h, old_chunk);
+      call_freefun (h, old_chunk);
     }
 
   h->object_base = object_base;
@@ -305,9 +228,6 @@ _obstack_newchunk (struct obstack *h, int length)
   /* The new chunk certainly contains no empty object yet.  */
   h->maybe_empty_object = 0;
 }
-# ifdef _LIBC
-libc_hidden_def (_obstack_newchunk)
-# endif
 
 /* Return nonzero if object OBJ has been allocated from obstack H.
    This is here for debugging.
@@ -315,13 +235,13 @@ libc_hidden_def (_obstack_newchunk)
 
 /* Suppress -Wmissing-prototypes warning.  We don't want to declare this in
    obstack.h because it is just for debugging.  */
-int _obstack_allocated_p (struct obstack *h, void *obj) _GL_ATTRIBUTE_PURE;
+int _obstack_allocated_p (struct obstack *h, void *obj) __attribute_pure__;
 
 int
 _obstack_allocated_p (struct obstack *h, void *obj)
 {
-  register struct _obstack_chunk *lp;   /* below addr of any objects in this chunk */
-  register struct _obstack_chunk *plp;  /* point to previous chunk if any */
+  struct _obstack_chunk *lp;    /* below addr of any objects in this chunk */
+  struct _obstack_chunk *plp;   /* point to previous chunk if any */
 
   lp = (h)->chunk;
   /* We use >= rather than > since the object cannot be exactly at
@@ -334,17 +254,15 @@ _obstack_allocated_p (struct obstack *h, void *obj)
     }
   return lp != 0;
 }
-\f
+
 /* Free objects in obstack H, including OBJ and everything allocate
    more recently than OBJ.  If OBJ is zero, free everything in H.  */
 
-# undef obstack_free
-
 void
-__obstack_free (struct obstack *h, void *obj)
+_obstack_free (struct obstack *h, void *obj)
 {
-  register struct _obstack_chunk *lp;   /* below addr of any objects in this chunk */
-  register struct _obstack_chunk *plp;  /* point to previous chunk if any */
+  struct _obstack_chunk *lp;    /* below addr of any objects in this chunk */
+  struct _obstack_chunk *plp;   /* point to previous chunk if any */
 
   lp = h->chunk;
   /* We use >= because there cannot be an object at the beginning of a chunk.
@@ -353,7 +271,7 @@ __obstack_free (struct obstack *h, void *obj)
   while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj))
     {
       plp = lp->prev;
-      CALL_FREEFUN (h, lp);
+      call_freefun (h, lp);
       lp = plp;
       /* If we switch chunks, we can't tell whether the new current
          chunk contains an empty object, so assume that it may.  */
@@ -370,17 +288,11 @@ __obstack_free (struct obstack *h, void *obj)
     abort ();
 }
 
-# ifdef _LIBC
-/* Older versions of libc used a function _obstack_free intended to be
-   called by non-GCC compilers.  */
-strong_alias (obstack_free, _obstack_free)
-# endif
-\f
-int
+_OBSTACK_SIZE_T
 _obstack_memory_used (struct obstack *h)
 {
-  register struct _obstack_chunk* lp;
-  register int nbytes = 0;
+  struct _obstack_chunk *lp;
+  _OBSTACK_SIZE_T nbytes = 0;
 
   for (lp = h->chunk; lp != 0; lp = lp->prev)
     {
@@ -388,20 +300,31 @@ _obstack_memory_used (struct obstack *h)
     }
   return nbytes;
 }
-\f
+
+# ifndef _OBSTACK_NO_ERROR_HANDLER
 /* Define the error handler.  */
-# ifdef _LIBC
-#  include <libintl.h>
-# else
-#  include "gettext.h"
-# endif
-# ifndef _
-#  define _(msgid) gettext (msgid)
-# endif
+#  include <stdio.h>
 
-# ifdef _LIBC
-#  include <libio/iolibio.h>
-# endif
+/* Exit value used when 'print_and_abort' is used.  */
+#  ifdef _LIBC
+int obstack_exit_failure = EXIT_FAILURE;
+#  else
+#   include "exitfail.h"
+#   define obstack_exit_failure exit_failure
+#  endif
+
+#  ifdef _LIBC
+#   include <libintl.h>
+#  else
+#   include "gettext.h"
+#  endif
+#  ifndef _
+#   define _(msgid) gettext (msgid)
+#  endif
+
+#  ifdef _LIBC
+#   include <libio/iolibio.h>
+#  endif
 
 static _Noreturn void
 print_and_abort (void)
@@ -411,12 +334,20 @@ print_and_abort (void)
      happen because the "memory exhausted" message appears in other places
      like this and the translation should be reused instead of creating
      a very similar string which requires a separate translation.  */
-# ifdef _LIBC
+#  ifdef _LIBC
   (void) __fxprintf (NULL, "%s\n", _("memory exhausted"));
-# else
+#  else
   fprintf (stderr, "%s\n", _("memory exhausted"));
-# endif
+#  endif
   exit (obstack_exit_failure);
 }
 
-#endif  /* !ELIDE_CODE */
+/* 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'.  */
+void (*obstack_alloc_failed_handler) (void) = print_and_abort;
+# endif /* !_OBSTACK_NO_ERROR_HANDLER */
+#endif /* !_OBSTACK_ELIDE_CODE */
index 1897b324d7032249ea30157464149b0ebfa08816..2b7d13b73b8ba50c86b3efcb6de964bee53e8528 100644 (file)
@@ -1,92 +1,90 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* obstack.h - object stack macros
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
-   This program is free software; you can redistribute it and/or
+   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.
 
    You should have received a copy of the GNU General Public
-   License along with this program; if not, see
+   License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
 /* Summary:
 
-All the apparent functions defined here are macros. The idea
-is that you would use these pre-tested macros to solve a
-very specific set of problems, and they would run fast.
-Caution: no side-effects in arguments please!! They may be
-evaluated MANY times!!
-
-These macros operate a stack of objects.  Each object starts life
-small, and may grow to maturity.  (Consider building a word syllable
-by syllable.)  An object can move while it is growing.  Once it has
-been "finished" it never changes address again.  So the "top of the
-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
-them before using any obstack macros.
-
-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.
-
-One motivation for this package is the problem of growing char strings
-in symbol tables.  Unless you are "fascist pig with a read-only mind"
---Gosper's immortal quote from HAKMEM item 154, out of context--you
-would not like to put any arbitrary upper limit on the length of your
-symbols.
-
-In practice this often means you will build many short symbols and a
-few long symbols.  At the time you are reading a symbol you don't know
-how long it is.  One traditional method is to read a symbol into a
-buffer, realloc()ating the buffer every time you try to read a symbol
-that is longer than the buffer.  This is beaut, but you still will
-want to copy the symbol from the buffer to a more permanent
-symbol-table entry say about half the time.
-
-With obstacks, you can work differently.  Use one obstack for all symbol
-names.  As you read a symbol, grow the name in the obstack gradually.
-When the name is complete, finalize it.  Then, if the symbol exists already,
-free the newly read name.
-
-The way we do this is to take a large chunk, allocating memory from
-low addresses.  When you want to build a symbol in the chunk you just
-add chars above the current "high water mark" in the chunk.  When you
-have finished adding chars, because you got to the end of the symbol,
-you know how long the chars are, and you can create a new object.
-Mostly the chars will not burst over the highest address of the chunk,
-because you would typically expect a chunk to be (say) 100 times as
-long as an average object.
-
-In case that isn't clear, when we have enough chars to make up
-the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed)
-so we just point to it where it lies.  No moving of chars is
-needed and this is the second win: potentially long strings need
-never be explicitly shuffled. Once an object is formed, it does not
-change its address during its lifetime.
-
-When the chars burst over a chunk boundary, we allocate a larger
-chunk, and then copy the partly formed object from the end of the old
-chunk to the beginning of the new larger chunk.  We then carry on
-accreting characters to the end of the object as we normally would.
-
-A special macro is provided to add a single char at a time to a
-growing object.  This allows the use of register variables, which
-break the ordinary 'growth' macro.
-
-Summary:
+   All the apparent functions defined here are macros. The idea
+   is that you would use these pre-tested macros to solve a
+   very specific set of problems, and they would run fast.
+   Caution: no side-effects in arguments please!! They may be
+   evaluated MANY times!!
+
+   These macros operate a stack of objects.  Each object starts life
+   small, and may grow to maturity.  (Consider building a word syllable
+   by syllable.)  An object can move while it is growing.  Once it has
+   been "finished" it never changes address again.  So the "top of the
+   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
+   them before using any obstack macros.
+
+   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.
+
+   One motivation for this package is the problem of growing char strings
+   in symbol tables.  Unless you are "fascist pig with a read-only mind"
+   --Gosper's immortal quote from HAKMEM item 154, out of context--you
+   would not like to put any arbitrary upper limit on the length of your
+   symbols.
+
+   In practice this often means you will build many short symbols and a
+   few long symbols.  At the time you are reading a symbol you don't know
+   how long it is.  One traditional method is to read a symbol into a
+   buffer, realloc()ating the buffer every time you try to read a symbol
+   that is longer than the buffer.  This is beaut, but you still will
+   want to copy the symbol from the buffer to a more permanent
+   symbol-table entry say about half the time.
+
+   With obstacks, you can work differently.  Use one obstack for all symbol
+   names.  As you read a symbol, grow the name in the obstack gradually.
+   When the name is complete, finalize it.  Then, if the symbol exists already,
+   free the newly read name.
+
+   The way we do this is to take a large chunk, allocating memory from
+   low addresses.  When you want to build a symbol in the chunk you just
+   add chars above the current "high water mark" in the chunk.  When you
+   have finished adding chars, because you got to the end of the symbol,
+   you know how long the chars are, and you can create a new object.
+   Mostly the chars will not burst over the highest address of the chunk,
+   because you would typically expect a chunk to be (say) 100 times as
+   long as an average object.
+
+   In case that isn't clear, when we have enough chars to make up
+   the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed)
+   so we just point to it where it lies.  No moving of chars is
+   needed and this is the second win: potentially long strings need
+   never be explicitly shuffled. Once an object is formed, it does not
+   change its address during its lifetime.
+
+   When the chars burst over a chunk boundary, we allocate a larger
+   chunk, and then copy the partly formed object from the end of the old
+   chunk to the beginning of the new larger chunk.  We then carry on
+   accreting characters to the end of the object as we normally would.
+
+   A special macro is provided to add a single char at a time to a
+   growing object.  This allows the use of register variables, which
+   break the ordinary 'growth' macro.
+
+   Summary:
         We allocate large chunks.
         We carve out one object at a time from the current chunk.
         Once carved, an object never moves.
@@ -98,24 +96,32 @@ Summary:
         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.)
-*/
+ */
 
 
 /* Don't do the contents of this file more than once.  */
 
 #ifndef _OBSTACK_H
 #define _OBSTACK_H 1
-\f
-/* We need the type of a pointer subtraction.  If __PTRDIFF_TYPE__ is
-   defined, as with GNU C, use that; that way we don't pollute the
-   namespace with <stddef.h>'s symbols.  Otherwise, include <stddef.h>
-   and use ptrdiff_t.  */
-
-#ifdef __PTRDIFF_TYPE__
-# define PTR_INT_TYPE __PTRDIFF_TYPE__
+
+#ifndef _OBSTACK_INTERFACE_VERSION
+# define _OBSTACK_INTERFACE_VERSION 2
+#endif
+
+#include <stddef.h>             /* For size_t and ptrdiff_t.  */
+#include <string.h>             /* For __GNU_LIBRARY__, and memcpy.  */
+
+#if _OBSTACK_INTERFACE_VERSION == 1
+/* For binary compatibility with obstack version 1, which used "int"
+   and "long" for these two types.  */
+# define _OBSTACK_SIZE_T unsigned int
+# define _CHUNK_SIZE_T unsigned long
+# define _OBSTACK_CAST(type, expr) ((type) (expr))
 #else
-# include <stddef.h>
-# define PTR_INT_TYPE ptrdiff_t
+/* Version 2 with sane types, especially for 64-bit hosts.  */
+# define _OBSTACK_SIZE_T size_t
+# define _CHUNK_SIZE_T size_t
+# define _OBSTACK_CAST(type, expr) (expr)
 #endif
 
 /* If B is the base of an object addressed by P, return the result of
@@ -124,18 +130,20 @@ Summary:
 
 #define __BPTR_ALIGN(B, P, A) ((B) + (((P) - (B) + (A)) & ~(A)))
 
-/* Similar 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
+   and converted back again.  If ptrdiff_t is narrower than a
    pointer (e.g., the AS/400), play it safe and compute the alignment
    relative to B.  Otherwise, use the faster strategy of computing the
    alignment relative to 0.  */
 
-#define __PTR_ALIGN(B, P, A)                                                \
-  __BPTR_ALIGN (sizeof (PTR_INT_TYPE) < sizeof (void *) ? (B) : (char *) 0, \
+#define __PTR_ALIGN(B, P, A)                                                 \
+  __BPTR_ALIGN (sizeof (ptrdiff_t) < sizeof (void *) ? (B) : (char *) 0,      \
                 P, A)
 
-#include <string.h>
+#ifndef __attribute_pure__
+# define __attribute_pure__ _GL_ATTRIBUTE_PURE
+#endif
 
 #ifdef __cplusplus
 extern "C" {
@@ -143,58 +151,63 @@ extern "C" {
 
 struct _obstack_chunk           /* Lives at front of each chunk. */
 {
-  char  *limit;                 /* 1 past end of this chunk */
+  char *limit;                  /* 1 past end of this chunk */
   struct _obstack_chunk *prev;  /* address of prior chunk or NULL */
-  char  contents[4];            /* objects begin here */
+  char contents[4];             /* objects begin here */
 };
 
 struct obstack          /* control current object in current chunk */
 {
-  long  chunk_size;             /* preferred size to allocate chunks in */
+  _CHUNK_SIZE_T chunk_size;     /* preferred size to allocate chunks in */
   struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */
-  char  *object_base;           /* address of object we are building */
-  char  *next_free;             /* where to add next char to current object */
-  char  *chunk_limit;           /* address of char after current chunk */
+  char *object_base;            /* address of object we are building */
+  char *next_free;              /* where to add next char to current object */
+  char *chunk_limit;            /* address of char after current chunk */
   union
   {
-    PTR_INT_TYPE tempint;
-    void *tempptr;
+    _OBSTACK_SIZE_T i;
+    void *p;
   } 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
-     casts to the prototypeless function type in all assignments,
-     but having prototypes here quiets -Wstrict-prototypes.  */
-  struct _obstack_chunk *(*chunkfun) (void *, long);
-  void (*freefun) (void *, struct _obstack_chunk *);
+  _OBSTACK_SIZE_T alignment_mask;  /* Mask of alignment for each object. */
+
+  /* These prototypes vary based on 'use_extra_arg'.  */
+  union
+  {
+    void *(*plain) (size_t);
+    void *(*extra) (void *, size_t);
+  } chunkfun;
+  union
+  {
+    void (*plain) (void *);
+    void (*extra) (void *, void *);
+  } freefun;
+
   void *extra_arg;              /* first arg for chunk alloc/dealloc funcs */
-  unsigned use_extra_arg:1;     /* chunk alloc/dealloc funcs take extra arg */
-  unsigned maybe_empty_object:1;/* There is a possibility that the current
-                                   chunk contains a zero-length object.  This
-                                   prevents freeing the chunk if we allocate
-                                   a bigger chunk to replace it. */
-  unsigned alloc_failed:1;      /* No longer used, as we now call the failed
-                                   handler on error, but retained for binary
-                                   compatibility.  */
+  unsigned use_extra_arg : 1;     /* chunk alloc/dealloc funcs take extra arg */
+  unsigned maybe_empty_object : 1; /* There is a possibility that the current
+                                      chunk contains a zero-length object.  This
+                                      prevents freeing the chunk if we allocate
+                                      a bigger chunk to replace it. */
+  unsigned alloc_failed : 1;      /* No longer used, as we now call the failed
+                                     handler on error, but retained for binary
+                                     compatibility.  */
 };
 
 /* Declare the external functions we use; they are in obstack.c.  */
 
-extern void _obstack_newchunk (struct obstack *, int);
-extern int _obstack_begin (struct obstack *, int, int,
-                            void *(*) (long), void (*) (void *));
-extern int _obstack_begin_1 (struct obstack *, int, int,
-                             void *(*) (void *, long),
+extern void _obstack_newchunk (struct obstack *, _OBSTACK_SIZE_T);
+extern void _obstack_free (struct obstack *, void *);
+extern int _obstack_begin (struct obstack *,
+                           _OBSTACK_SIZE_T, _OBSTACK_SIZE_T,
+                           void *(*) (size_t), void (*) (void *));
+extern int _obstack_begin_1 (struct obstack *,
+                             _OBSTACK_SIZE_T, _OBSTACK_SIZE_T,
+                             void *(*) (void *, size_t),
                              void (*) (void *, void *), void *);
-extern int _obstack_memory_used (struct obstack *) _GL_ATTRIBUTE_PURE;
+extern _OBSTACK_SIZE_T _obstack_memory_used (struct obstack *)
+  __attribute_pure__;
 
-/* The default name of the function for freeing a chunk is 'obstack_free',
-   but gnulib users can override this by defining '__obstack_free'.  */
-#ifndef __obstack_free
-# define __obstack_free obstack_free
-#endif
-extern void __obstack_free (struct obstack *obstack, void *block);
 
-\f
 /* 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
@@ -203,7 +216,7 @@ extern void (*obstack_alloc_failed_handler) (void);
 
 /* Exit value used when 'print_and_abort' is used.  */
 extern int obstack_exit_failure;
-\f
+
 /* Pointer to beginning of object being allocated or to be allocated next.
    Note that this might not be the final address of the object
    because a new chunk might be needed to hold the final size.  */
@@ -216,50 +229,47 @@ extern int obstack_exit_failure;
 
 /* Pointer to next byte not yet allocated in current chunk.  */
 
-#define obstack_next_free(h)    ((h)->next_free)
+#define obstack_next_free(h) ((void *) (h)->next_free)
 
 /* Mask specifying low bits that should be clear in address of an object.  */
 
 #define obstack_alignment_mask(h) ((h)->alignment_mask)
 
 /* To prevent prototype warnings provide complete argument list.  */
-#define obstack_init(h)                                         \
-  _obstack_begin ((h), 0, 0,                                    \
-                  (void *(*) (long)) obstack_chunk_alloc,       \
-                  (void (*) (void *)) obstack_chunk_free)
+#define obstack_init(h)                                                              \
+  _obstack_begin ((h), 0, 0,                                                 \
+                  _OBSTACK_CAST (void *(*) (size_t), obstack_chunk_alloc),    \
+                  _OBSTACK_CAST (void (*) (void *), obstack_chunk_free))
 
-#define obstack_begin(h, size)                                  \
-  _obstack_begin ((h), (size), 0,                               \
-                  (void *(*) (long)) obstack_chunk_alloc,       \
-                  (void (*) (void *)) obstack_chunk_free)
+#define obstack_begin(h, size)                                               \
+  _obstack_begin ((h), (size), 0,                                            \
+                  _OBSTACK_CAST (void *(*) (size_t), obstack_chunk_alloc), \
+                  _OBSTACK_CAST (void (*) (void *), obstack_chunk_free))
 
-#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun)  \
-  _obstack_begin ((h), (size), (alignment),                                \
-                  (void *(*) (long)) (chunkfun),                           \
-                  (void (*) (void *)) (freefun))
+#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun)     \
+  _obstack_begin ((h), (size), (alignment),                                  \
+                  _OBSTACK_CAST (void *(*) (size_t), chunkfun),                      \
+                  _OBSTACK_CAST (void (*) (void *), freefun))
 
 #define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \
-  _obstack_begin_1 ((h), (size), (alignment),                           \
-                    (void *(*) (void *, long)) (chunkfun),              \
-                    (void (*) (void *, void *)) (freefun), (arg))
+  _obstack_begin_1 ((h), (size), (alignment),                                \
+                    _OBSTACK_CAST (void *(*) (void *, size_t), chunkfun),     \
+                    _OBSTACK_CAST (void (*) (void *, void *), freefun), arg)
 
-#define obstack_chunkfun(h, newchunkfun) \
-  ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun))
+#define obstack_chunkfun(h, newchunkfun)                                     \
+  ((void) ((h)->chunkfun.extra = (void *(*) (void *, size_t)) (newchunkfun)))
 
-#define obstack_freefun(h, newfreefun) \
-  ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun))
+#define obstack_freefun(h, newfreefun)                                       \
+  ((void) ((h)->freefun.extra = (void *(*) (void *, void *)) (newfreefun)))
 
-#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar))
+#define obstack_1grow_fast(h, achar) ((void) (*((h)->next_free)++ = (achar)))
 
-#define obstack_blank_fast(h,n) ((h)->next_free += (n))
+#define obstack_blank_fast(h, n) ((void) ((h)->next_free += (n)))
 
 #define obstack_memory_used(h) _obstack_memory_used (h)
-\f
+
 #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__.  */
-# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
+# if !defined __GNUC_MINOR__ || __GNUC__ * 1000 + __GNUC_MINOR__ < 2008
 #  define __extension__
 # endif
 
@@ -268,160 +278,161 @@ extern int obstack_exit_failure;
    without using a global variable.
    Also, we can avoid using the 'temp' slot, to make faster code.  */
 
-# define obstack_object_size(OBSTACK)                                   \
-  __extension__                                                         \
-  ({ struct obstack const *__o = (OBSTACK);                             \
-     (unsigned) (__o->next_free - __o->object_base); })
-
-# define obstack_room(OBSTACK)                                          \
-  __extension__                                                         \
-  ({ struct obstack const *__o = (OBSTACK);                             \
-     (unsigned) (__o->chunk_limit - __o->next_free); })
-
-# define obstack_make_room(OBSTACK,length)                              \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   int __len = (length);                                                \
-   if (__o->chunk_limit - __o->next_free < __len)                       \
-     _obstack_newchunk (__o, __len);                                    \
-   (void) 0; })
-
-# define obstack_empty_p(OBSTACK)                                       \
-  __extension__                                                         \
-  ({ struct obstack const *__o = (OBSTACK);                             \
-     (__o->chunk->prev == 0                                             \
-      && __o->next_free == __PTR_ALIGN ((char *) __o->chunk,            \
-                                        __o->chunk->contents,           \
-                                        __o->alignment_mask)); })
-
-# define obstack_grow(OBSTACK,where,length)                             \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   int __len = (length);                                                \
-   if (__o->next_free + __len > __o->chunk_limit)                       \
-     _obstack_newchunk (__o, __len);                                    \
-   memcpy (__o->next_free, where, __len);                               \
-   __o->next_free += __len;                                             \
-   (void) 0; })
-
-# define obstack_grow0(OBSTACK,where,length)                            \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   int __len = (length);                                                \
-   if (__o->next_free + __len + 1 > __o->chunk_limit)                   \
-     _obstack_newchunk (__o, __len + 1);                                \
-   memcpy (__o->next_free, where, __len);                               \
-   __o->next_free += __len;                                             \
-   *(__o->next_free)++ = 0;                                             \
-   (void) 0; })
-
-# define obstack_1grow(OBSTACK,datum)                                   \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   if (__o->next_free + 1 > __o->chunk_limit)                           \
-     _obstack_newchunk (__o, 1);                                        \
-   obstack_1grow_fast (__o, datum);                                     \
-   (void) 0; })
+# define obstack_object_size(OBSTACK)                                        \
+  __extension__                                                                      \
+    ({ struct obstack const *__o = (OBSTACK);                                \
+       (_OBSTACK_SIZE_T) (__o->next_free - __o->object_base); })
+
+/* The local variable is named __o1 to avoid a shadowed variable
+   warning when invoked from other obstack macros.  */
+# define obstack_room(OBSTACK)                                               \
+  __extension__                                                                      \
+    ({ struct obstack const *__o1 = (OBSTACK);                               \
+       (_OBSTACK_SIZE_T) (__o1->chunk_limit - __o1->next_free); })
+
+# define obstack_make_room(OBSTACK, length)                                  \
+  __extension__                                                                      \
+    ({ struct obstack *__o = (OBSTACK);                                              \
+       _OBSTACK_SIZE_T __len = (length);                                     \
+       if (obstack_room (__o) < __len)                                       \
+         _obstack_newchunk (__o, __len);                                     \
+       (void) 0; })
+
+# define obstack_empty_p(OBSTACK)                                            \
+  __extension__                                                                      \
+    ({ struct obstack const *__o = (OBSTACK);                                \
+       (__o->chunk->prev == 0                                                \
+        && __o->next_free == __PTR_ALIGN ((char *) __o->chunk,               \
+                                          __o->chunk->contents,                      \
+                                          __o->alignment_mask)); })
+
+# define obstack_grow(OBSTACK, where, length)                                \
+  __extension__                                                                      \
+    ({ struct obstack *__o = (OBSTACK);                                              \
+       _OBSTACK_SIZE_T __len = (length);                                     \
+       if (obstack_room (__o) < __len)                                       \
+         _obstack_newchunk (__o, __len);                                     \
+       memcpy (__o->next_free, where, __len);                                \
+       __o->next_free += __len;                                                      \
+       (void) 0; })
+
+# define obstack_grow0(OBSTACK, where, length)                               \
+  __extension__                                                                      \
+    ({ struct obstack *__o = (OBSTACK);                                              \
+       _OBSTACK_SIZE_T __len = (length);                                     \
+       if (obstack_room (__o) < __len + 1)                                   \
+         _obstack_newchunk (__o, __len + 1);                                 \
+       memcpy (__o->next_free, where, __len);                                \
+       __o->next_free += __len;                                                      \
+       *(__o->next_free)++ = 0;                                                      \
+       (void) 0; })
+
+# define obstack_1grow(OBSTACK, datum)                                       \
+  __extension__                                                                      \
+    ({ struct obstack *__o = (OBSTACK);                                              \
+       if (obstack_room (__o) < 1)                                           \
+         _obstack_newchunk (__o, 1);                                         \
+       obstack_1grow_fast (__o, datum); })
 
 /* These assume that the obstack alignment is good enough for pointers
    or ints, and that the data added so far to the current object
    shares that much alignment.  */
 
-# define obstack_ptr_grow(OBSTACK,datum)                                \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   if (__o->next_free + sizeof (void *) > __o->chunk_limit)             \
-     _obstack_newchunk (__o, sizeof (void *));                          \
-   obstack_ptr_grow_fast (__o, datum); })                               \
-
-# define obstack_int_grow(OBSTACK,datum)                                \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   if (__o->next_free + sizeof (int) > __o->chunk_limit)                \
-     _obstack_newchunk (__o, sizeof (int));                             \
-   obstack_int_grow_fast (__o, datum); })
-
-# define obstack_ptr_grow_fast(OBSTACK,aptr)                            \
-__extension__                                                           \
-({ struct obstack *__o1 = (OBSTACK);                                    \
-   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);                                    \
-   void *__p1 = __o1->next_free;                                        \
-   *(int *) __p1 = (aint);                                              \
-   __o1->next_free += sizeof (int);                                     \
-   (void) 0; })
-
-# define obstack_blank(OBSTACK,length)                                  \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   int __len = (length);                                                \
-   if (__o->chunk_limit - __o->next_free < __len)                       \
-     _obstack_newchunk (__o, __len);                                    \
-   obstack_blank_fast (__o, __len);                                     \
-   (void) 0; })
-
-# define obstack_alloc(OBSTACK,length)                                  \
-__extension__                                                           \
-({ struct obstack *__h = (OBSTACK);                                     \
-   obstack_blank (__h, (length));                                       \
-   obstack_finish (__h); })
-
-# define obstack_copy(OBSTACK,where,length)                             \
-__extension__                                                           \
-({ struct obstack *__h = (OBSTACK);                                     \
-   obstack_grow (__h, (where), (length));                               \
-   obstack_finish (__h); })
-
-# define obstack_copy0(OBSTACK,where,length)                            \
-__extension__                                                           \
-({ struct obstack *__h = (OBSTACK);                                     \
-   obstack_grow0 (__h, (where), (length));                              \
-   obstack_finish (__h); })
-
-/* The local variable is named __o1 to avoid a name conflict
-   when obstack_blank is called.  */
-# define obstack_finish(OBSTACK)                                        \
-__extension__                                                           \
-({ struct obstack *__o1 = (OBSTACK);                                    \
-   void *__value = (void *) __o1->object_base;                          \
-   if (__o1->next_free == __value)                                      \
-     __o1->maybe_empty_object = 1;                                      \
-   __o1->next_free                                                      \
-     = __PTR_ALIGN (__o1->object_base, __o1->next_free,                 \
-                    __o1->alignment_mask);                              \
-   if (__o1->next_free - (char *)__o1->chunk                            \
-       > __o1->chunk_limit - (char *)__o1->chunk)                       \
-     __o1->next_free = __o1->chunk_limit;                               \
-   __o1->object_base = __o1->next_free;                                 \
-   __value; })
-
-# define obstack_free(OBSTACK, OBJ)                                     \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   void *__obj = (OBJ);                                                 \
-   if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit)  \
-     __o->next_free = __o->object_base = (char *)__obj;                 \
-   else (__obstack_free) (__o, __obj); })
-\f
+# define obstack_ptr_grow(OBSTACK, datum)                                    \
+  __extension__                                                                      \
+    ({ struct obstack *__o = (OBSTACK);                                              \
+       if (obstack_room (__o) < sizeof (void *))                             \
+         _obstack_newchunk (__o, sizeof (void *));                           \
+       obstack_ptr_grow_fast (__o, datum); })
+
+# define obstack_int_grow(OBSTACK, datum)                                    \
+  __extension__                                                                      \
+    ({ struct obstack *__o = (OBSTACK);                                              \
+       if (obstack_room (__o) < sizeof (int))                                \
+         _obstack_newchunk (__o, sizeof (int));                                      \
+       obstack_int_grow_fast (__o, datum); })
+
+# define obstack_ptr_grow_fast(OBSTACK, aptr)                                \
+  __extension__                                                                      \
+    ({ struct obstack *__o1 = (OBSTACK);                                     \
+       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);                                     \
+       void *__p1 = __o1->next_free;                                         \
+       *(int *) __p1 = (aint);                                               \
+       __o1->next_free += sizeof (int);                                              \
+       (void) 0; })
+
+# define obstack_blank(OBSTACK, length)                                              \
+  __extension__                                                                      \
+    ({ struct obstack *__o = (OBSTACK);                                              \
+       _OBSTACK_SIZE_T __len = (length);                                     \
+       if (obstack_room (__o) < __len)                                       \
+         _obstack_newchunk (__o, __len);                                     \
+       obstack_blank_fast (__o, __len); })
+
+# define obstack_alloc(OBSTACK, length)                                              \
+  __extension__                                                                      \
+    ({ struct obstack *__h = (OBSTACK);                                              \
+       obstack_blank (__h, (length));                                        \
+       obstack_finish (__h); })
+
+# define obstack_copy(OBSTACK, where, length)                                \
+  __extension__                                                                      \
+    ({ struct obstack *__h = (OBSTACK);                                              \
+       obstack_grow (__h, (where), (length));                                \
+       obstack_finish (__h); })
+
+# define obstack_copy0(OBSTACK, where, length)                               \
+  __extension__                                                                      \
+    ({ struct obstack *__h = (OBSTACK);                                              \
+       obstack_grow0 (__h, (where), (length));                               \
+       obstack_finish (__h); })
+
+/* The local variable is named __o1 to avoid a shadowed variable
+   warning when invoked from other obstack macros, typically obstack_free.  */
+# define obstack_finish(OBSTACK)                                             \
+  __extension__                                                                      \
+    ({ struct obstack *__o1 = (OBSTACK);                                     \
+       void *__value = (void *) __o1->object_base;                           \
+       if (__o1->next_free == __value)                                       \
+         __o1->maybe_empty_object = 1;                                       \
+       __o1->next_free                                                       \
+         = __PTR_ALIGN (__o1->object_base, __o1->next_free,                  \
+                        __o1->alignment_mask);                               \
+       if ((size_t) (__o1->next_free - (char *) __o1->chunk)                 \
+           > (size_t) (__o1->chunk_limit - (char *) __o1->chunk))            \
+         __o1->next_free = __o1->chunk_limit;                                \
+       __o1->object_base = __o1->next_free;                                  \
+       __value; })
+
+# define obstack_free(OBSTACK, OBJ)                                          \
+  __extension__                                                                      \
+    ({ struct obstack *__o = (OBSTACK);                                              \
+       void *__obj = (void *) (OBJ);                                         \
+       if (__obj > (void *) __o->chunk && __obj < (void *) __o->chunk_limit)  \
+         __o->next_free = __o->object_base = (char *) __obj;                 \
+       else                                                                  \
+         _obstack_free (__o, __obj); })
+
 #else /* not __GNUC__ */
 
-# define obstack_object_size(h) \
(unsigned) ((h)->next_free - (h)->object_base)
+# define obstack_object_size(h)                                                      \
 ((_OBSTACK_SIZE_T) ((h)->next_free - (h)->object_base))
 
-# define obstack_room(h)                \
(unsigned) ((h)->chunk_limit - (h)->next_free)
+# define obstack_room(h)                                                     \
 ((_OBSTACK_SIZE_T) ((h)->chunk_limit - (h)->next_free))
 
-# define obstack_empty_p(h) \
((h)->chunk->prev == 0                                                 \
-  && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk,                \
-                                    (h)->chunk->contents,               \
-                                    (h)->alignment_mask))
+# define obstack_empty_p(h)                                                  \
 ((h)->chunk->prev == 0                                                     \
+   && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk,                    \
+                                     (h)->chunk->contents,                   \
+                                     (h)->alignment_mask))
 
 /* Note that the call to _obstack_newchunk is enclosed in (..., 0)
    so that we can avoid having void expressions
@@ -429,83 +440,87 @@ __extension__                                                           \
    Casting the third operand to void was tried before,
    but some compilers won't accept it.  */
 
-# define obstack_make_room(h,length)                                    \
-( (h)->temp.tempint = (length),                                         \
-  (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit)              \
-   ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0))
-
-# define obstack_grow(h,where,length)                                   \
-( (h)->temp.tempint = (length),                                         \
-  (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit)              \
-   ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0),              \
-  memcpy ((h)->next_free, where, (h)->temp.tempint),                    \
-  (h)->next_free += (h)->temp.tempint)
-
-# define obstack_grow0(h,where,length)                                  \
-( (h)->temp.tempint = (length),                                         \
-  (((h)->next_free + (h)->temp.tempint + 1 > (h)->chunk_limit)          \
-   ? (_obstack_newchunk ((h), (h)->temp.tempint + 1), 0) : 0),          \
-  memcpy ((h)->next_free, where, (h)->temp.tempint),                    \
-  (h)->next_free += (h)->temp.tempint,                                  \
-  *((h)->next_free)++ = 0)
-
-# define obstack_1grow(h,datum)                                         \
-( (((h)->next_free + 1 > (h)->chunk_limit)                              \
-   ? (_obstack_newchunk ((h), 1), 0) : 0),                              \
-  obstack_1grow_fast (h, datum))
-
-# define obstack_ptr_grow(h,datum)                                      \
-( (((h)->next_free + sizeof (char *) > (h)->chunk_limit)                \
-   ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0),                \
-  obstack_ptr_grow_fast (h, datum))
-
-# define obstack_int_grow(h,datum)                                      \
-( (((h)->next_free + sizeof (int) > (h)->chunk_limit)                   \
-   ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0),                   \
-  obstack_int_grow_fast (h, datum))
-
-# define obstack_ptr_grow_fast(h,aptr)                                  \
-  (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr))
-
-# define obstack_int_grow_fast(h,aint)                                  \
-  (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint))
-
-# define obstack_blank(h,length)                                        \
-( (h)->temp.tempint = (length),                                         \
-  (((h)->chunk_limit - (h)->next_free < (h)->temp.tempint)              \
-   ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0),              \
-  obstack_blank_fast (h, (h)->temp.tempint))
-
-# define obstack_alloc(h,length)                                        \
- (obstack_blank ((h), (length)), obstack_finish ((h)))
-
-# define obstack_copy(h,where,length)                                   \
- (obstack_grow ((h), (where), (length)), obstack_finish ((h)))
-
-# define obstack_copy0(h,where,length)                                  \
- (obstack_grow0 ((h), (where), (length)), obstack_finish ((h)))
-
-# define obstack_finish(h)                                              \
-( ((h)->next_free == (h)->object_base                                   \
-   ? (((h)->maybe_empty_object = 1), 0)                                 \
-   : 0),                                                                \
-  (h)->temp.tempptr = (h)->object_base,                                 \
-  (h)->next_free                                                        \
-    = __PTR_ALIGN ((h)->object_base, (h)->next_free,                    \
-                   (h)->alignment_mask),                                \
-  (((h)->next_free - (char *) (h)->chunk                                \
-    > (h)->chunk_limit - (char *) (h)->chunk)                           \
-   ? ((h)->next_free = (h)->chunk_limit) : 0),                          \
-  (h)->object_base = (h)->next_free,                                    \
-  (h)->temp.tempptr)
-
-# define obstack_free(h,obj)                                            \
-( (h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk,             \
-  ((((h)->temp.tempint > 0                                              \
-    && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk))     \
-   ? (void) ((h)->next_free = (h)->object_base                          \
-             = (h)->temp.tempint + (char *) (h)->chunk)                 \
-   : (__obstack_free) (h, (h)->temp.tempint + (char *) (h)->chunk)))
+# define obstack_make_room(h, length)                                        \
+  ((h)->temp.i = (length),                                                   \
+   ((obstack_room (h) < (h)->temp.i)                                         \
+    ? (_obstack_newchunk (h, (h)->temp.i), 0) : 0),                          \
+   (void) 0)
+
+# define obstack_grow(h, where, length)                                              \
+  ((h)->temp.i = (length),                                                   \
+   ((obstack_room (h) < (h)->temp.i)                                         \
+   ? (_obstack_newchunk ((h), (h)->temp.i), 0) : 0),                         \
+   memcpy ((h)->next_free, where, (h)->temp.i),                                      \
+   (h)->next_free += (h)->temp.i,                                            \
+   (void) 0)
+
+# define obstack_grow0(h, where, length)                                     \
+  ((h)->temp.i = (length),                                                   \
+   ((obstack_room (h) < (h)->temp.i + 1)                                     \
+   ? (_obstack_newchunk ((h), (h)->temp.i + 1), 0) : 0),                     \
+   memcpy ((h)->next_free, where, (h)->temp.i),                                      \
+   (h)->next_free += (h)->temp.i,                                            \
+   *((h)->next_free)++ = 0,                                                  \
+   (void) 0)
+
+# define obstack_1grow(h, datum)                                             \
+  (((obstack_room (h) < 1)                                                   \
+    ? (_obstack_newchunk ((h), 1), 0) : 0),                                  \
+   obstack_1grow_fast (h, datum))
+
+# define obstack_ptr_grow(h, datum)                                          \
+  (((obstack_room (h) < sizeof (char *))                                     \
+    ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0),                    \
+   obstack_ptr_grow_fast (h, datum))
+
+# define obstack_int_grow(h, datum)                                          \
+  (((obstack_room (h) < sizeof (int))                                        \
+    ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0),                       \
+   obstack_int_grow_fast (h, datum))
+
+# define obstack_ptr_grow_fast(h, aptr)                                              \
+  (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr),       \
+   (void) 0)
+
+# define obstack_int_grow_fast(h, aint)                                              \
+  (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint),                  \
+   (void) 0)
+
+# define obstack_blank(h, length)                                            \
+  ((h)->temp.i = (length),                                                   \
+   ((obstack_room (h) < (h)->temp.i)                                         \
+   ? (_obstack_newchunk ((h), (h)->temp.i), 0) : 0),                         \
+   obstack_blank_fast (h, (h)->temp.i))
+
+# define obstack_alloc(h, length)                                            \
+  (obstack_blank ((h), (length)), obstack_finish ((h)))
+
+# define obstack_copy(h, where, length)                                              \
+  (obstack_grow ((h), (where), (length)), obstack_finish ((h)))
+
+# define obstack_copy0(h, where, length)                                     \
+  (obstack_grow0 ((h), (where), (length)), obstack_finish ((h)))
+
+# define obstack_finish(h)                                                   \
+  (((h)->next_free == (h)->object_base                                       \
+    ? (((h)->maybe_empty_object = 1), 0)                                     \
+    : 0),                                                                    \
+   (h)->temp.p = (h)->object_base,                                           \
+   (h)->next_free                                                            \
+     = __PTR_ALIGN ((h)->object_base, (h)->next_free,                        \
+                    (h)->alignment_mask),                                    \
+   (((size_t) ((h)->next_free - (char *) (h)->chunk)                         \
+     > (size_t) ((h)->chunk_limit - (char *) (h)->chunk))                    \
+   ? ((h)->next_free = (h)->chunk_limit) : 0),                               \
+   (h)->object_base = (h)->next_free,                                        \
+   (h)->temp.p)
+
+# define obstack_free(h, obj)                                                \
+  ((h)->temp.p = (void *) (obj),                                             \
+   (((h)->temp.p > (void *) (h)->chunk                                       \
+     && (h)->temp.p < (void *) (h)->chunk_limit)                             \
+    ? (void) ((h)->next_free = (h)->object_base = (char *) (h)->temp.p)       \
+    : _obstack_free ((h), (h)->temp.p)))
 
 #endif /* not __GNUC__ */
 
@@ -513,4 +528,4 @@ __extension__                                                           \
 }       /* C++ */
 #endif
 
-#endif /* obstack.h */
+#endif /* _OBSTACK_H */
index 8190d7a7cd62985c2bb6af17b6bb920c6f726f74..96082aafc0fdcdb4858a2f858575325ddd05fee0 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define anytostr offtostr
 #define inttype off_t
 #include "anytostr.c"
index 06e60205794bb94829985f27263786a0880eaa4a..95c781147f702a234c26db6ddc379abd734e2729 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Open a descriptor to a file.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 747ec392c0b90867af2ab0b9b8aafc9fcaa9817c..4accca0b2fa9d5d5936e30026aa09780bd975a99 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Report a save- or restore-cwd failure in our openat replacement and then exit.
 
-   Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -32,7 +30,7 @@
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
 
-void
+_Noreturn void
 openat_save_fail (int errnum)
 {
 #ifndef GNULIB_LIBPOSIX
@@ -51,7 +49,7 @@ openat_save_fail (int errnum)
    during an openat emulation.  The caller must ensure that fd 2 is
    not a just-opened fd, even when openat_safer is not in use.  */
 
-void
+_Noreturn void
 openat_restore_fail (int errnum)
 {
 #ifndef GNULIB_LIBPOSIX
index d62b53c90caee71259aa80676a65cccb4abc471a..f5a3690553646e884f26815a37e3c53853d53f07 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Internals for openat-like functions.
 
-   Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b7bf4eabf744f40ae289b91c29ff5b20056c3202..4e1d34198529865caa84bf2596cad9779acfe70b 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Create /proc/self/fd-related names for subfiles of open directories.
 
-   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include "intprops.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,
-   therefore save some unnecessary work in fchdir.c.
-   FIXME - if the kernel ever adds support for multi-thread safety for
-   avoiding standard fds, then we should use open_safer.  */
-#undef open
-#undef close
-
 #define PROC_SELF_FD_FORMAT "/proc/self/fd/%d/%s"
 
 #define PROC_SELF_FD_NAME_SIZE_BOUND(len) \
index c044dfd0200235dbb3cda2032e64629bda314606..d1de8b9e27510f4586652e29d0422cb30f925fc7 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* provide a replacement openat function
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index ada744a99e27edcbccf3a91c60f3a9654b96a522..f148adfab2cbf786879a38e54078bdd80e6c9125 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* provide a replacement openat function
-   Copyright (C) 2004-2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2006, 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index e562751d19d25f01f7425d58e30236dfb3b95a89..9bbcda85a35bdd025311e7250df643897dc0e408 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Invoke opendir, but avoid some glitches.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 40f06ddf8202b135885768dfaef9adfeb7828c53..9f53110310b66ae81d707f7ca14c51a99d48fdea 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Start reading the entries of a directory.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3663bd973c75c7a7e65648701409fea5920661de..21317c3c07ebc022ee8de919c357962e0690882b 100644 (file)
@@ -70,7 +70,7 @@
 
 /* Parse a string into an internal time stamp.
 
-   Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -3024,7 +3024,7 @@ lookup_word (parser_control const *pc, char *word)
 }
 
 static int
-yylex (YYSTYPE *lvalp, parser_control *pc)
+yylex (union YYSTYPE *lvalp, parser_control *pc)
 {
   unsigned char c;
   size_t count;
@@ -3154,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;
             }
index 805fc78833f8d2aa489e0c5e734e52fdc2743e90..443edb94da6b06527766ea40ce5a60ee9dc8f0b3 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Parse a string into an internal time stamp.
 
-   Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2014 Free Software
+   Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 0ba0a5253f13687b528fb2036897cbf32b3e6012..1b1fec75927a275c6d7117a771964613b351d079 100644 (file)
@@ -1,7 +1,7 @@
 %{
 /* Parse a string into an internal time stamp.
 
-   Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -1031,7 +1031,7 @@ lookup_word (parser_control const *pc, char *word)
 }
 
 static int
-yylex (YYSTYPE *lvalp, parser_control *pc)
+yylex (union YYSTYPE *lvalp, parser_control *pc)
 {
   unsigned char c;
   size_t count;
@@ -1161,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;
             }
index ebd72f8b19653d9f78f7c12dbb7ca9b00b9869ec..2f3b64f457ce26ad52e4cd8c5a66da14b9f64759 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
index e71f828f00f27a28c2a03c6cb18e1bbf9639216b..91b0fe77159783285b00960891531b4e4566496d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Invoke pipe, but avoid some glitches.
-   Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 0fd278313dd830e004248ecd0f806e103cc329db..da17efbd53f820296c5c0ceb7f9e81faaf09483e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2014 Free Software
+   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
index a8676918edf05de8c3c91c6de2957ac670c100a7..387976cca063fb0ddf3639f730a0eac4f15515b6 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2014 Free Software
+   Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2015 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
index 4aebe256383d624cca461b64703c0f08af9f2673..40d0a2264eae6e1a2b2e1cc9e8ae81cce5659ab9 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 1999-2000, 2002-2003, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2003, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a22ba14427f2dcc89a6e13bb1381259c84cbb32b..fda6704f9b1b99ce77de9876b9cec5e7319f12df 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Parse printf format string.
-   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2014 Free Software
+   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2015 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
index 223af71afc549383064300fa193a6324f8536bd4..6ea070acf0b12a4a38c633e7d7b1ca8668de3239 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Query, remove, or restore a Solaris privilege.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index be59285eefd464ca8fc188b2bf8c3cdc36204b48..b71d4180cc1ecfcc187c098701c027f6fbdf0225 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Query, remove, or restore a Solaris privilege.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 863147a206e381c694000c13dac0922a2f0a2791..fe93bcaf2aef4f8e7c48e7fc2d81149073bf7594 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Program name management.
-   Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
index 39d1ea45f87f00b9db87d2ee4b4a91765929c683..d1e034f92a387913fee2f4d59575a572fa8bcf9b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Program name management.
-   Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
index f84e4fd7e25e7a61e70c9f7c3a4c7737686ceaae..28c05fdd067cbe1576810c4c7b7b163b75a02365 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* quote.h - prototypes for quote.c
 
-   Copyright (C) 1998-2001, 2003, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2001, 2003, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8aa2ed5fc49e27cf2280a1515e51931340f00e14..9f916592f6c25455f398cd5b293a6ab636d6bfb2 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* quotearg.c - quote arguments for output
 
-   Copyright (C) 1998-2002, 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2004-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -180,7 +178,7 @@ set_custom_quoting (struct quoting_options *o,
 static struct quoting_options /* NOT PURE!! */
 quoting_options_from_style (enum quoting_style style)
 {
-  struct quoting_options o = { 0, 0, { 0 }, NULL, NULL };
+  struct quoting_options o = { literal_quoting_style, 0, { 0 }, NULL, NULL };
   if (style == custom_quoting_style)
     abort ();
   o.style = style;
index f9e58dd2141eda256d068889d48abfc8c3b2ba8e..d0ccd8beb194f1c2eb2228b99e111f51c2959f2b 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* quotearg.h - quote arguments for output
 
-   Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation,
+   Copyright (C) 1998-2002, 2004, 2006, 2008-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index 97fa3aa90402da74cbb96aa2a2edbbd01962794f..d6ba2a173518137b3d7ed2fa4442d9ed3b87ed19 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 9775af3f1df7d05dfbab89d1e04e034f751211af..a6380ba81083b1fe69ff2924a616b42da51fb80b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Searching in a string.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 0ccc1e420b60f5a5df37d7a94d772a907d00b79d..3d8eefa856f6b4c5532756c121fcb5d1ab913a77 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* POSIX compatible read() function.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
index ec01463e62d97167d80b024ef2bb844d7824b661..8646aac43bdb5a924aebfeeb8d3cf5cc90a0f7a2 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Read the next entry of a directory.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index d0fe2cf057b69aa9dd74473c44d1937513809b26..965c3e2558663da11c7cd893b7da62768a0d5bbc 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Stub for readlink().
-   Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 83355ba17785a39aa6ff9afd78c3f6964a4fe36f..c91cf0e8200fafb62c2fde9828cd1a63ae4ff339 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Read a symlink relative to an open directory.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include <config.h>
 
+#include <errno.h>
 #include <unistd.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#if HAVE_READLINKAT
+
+# undef readlinkat
+
+ssize_t
+rpl_readlinkat (int fd, char const *file, char *buf, size_t len)
+{
+# if READLINK_TRAILING_SLASH_BUG
+  size_t file_len = strlen (file);
+  if (file_len && file[file_len - 1] == '/')
+    {
+      /* Even if FILE without the slash is a symlink to a directory,
+         both lstat() and stat() must resolve the trailing slash to
+         the directory rather than the symlink.  We can therefore
+         safely use stat() to distinguish between EINVAL and
+         ENOTDIR/ENOENT, avoiding extra overhead of rpl_lstat().  */
+      struct stat st;
+      if (stat (file, &st) == 0)
+        errno = EINVAL;
+      return -1;
+    }
+# endif /* READLINK_TRAILING_SLASH_BUG */
+  return readlinkat (fd, file, buf, len);
+}
+
+#else
 
 /* Gnulib provides a readlink stub for mingw; use it for distinction
    between EINVAL and ENOENT, rather than always failing with ENOSYS.  */
    then readlink/restore_cwd.  If either the save_cwd or the restore_cwd
    fails, then give a diagnostic and exit nonzero.  */
 
-#define AT_FUNC_NAME readlinkat
-#define AT_FUNC_F1 readlink
-#define AT_FUNC_POST_FILE_PARAM_DECLS , char *buf, size_t len
-#define AT_FUNC_POST_FILE_ARGS        , buf, len
-#define AT_FUNC_RESULT ssize_t
-#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
-#undef AT_FUNC_RESULT
+# define AT_FUNC_NAME readlinkat
+# define AT_FUNC_F1 readlink
+# define AT_FUNC_POST_FILE_PARAM_DECLS , char *buf, size_t len
+# define AT_FUNC_POST_FILE_ARGS        , buf, len
+# define AT_FUNC_RESULT ssize_t
+# 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
+# undef AT_FUNC_RESULT
+
+#endif
index 655dc1118f9f3af9de86e99fa167c9d23f3bd08d..068b081f9404f2e6e35ec4de32d8c320866a5e33 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* realloc() function that is glibc compatible.
 
-   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2014 Free Software
+   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 0e140229650b08da2d218838e330d99cf27d8173..6cbe5b540bce3804b69db6e25e0e13cfa789fe56 100644 (file)
@@ -1,6 +1,6 @@
 # Add this package to a list of references stored in a text file.
 #
-#   Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
index 2dbcf7b2c1278b7f20ded9443b69706741d3c8bb..f50cf0aa42197b46d79eb4baf57cbdea5125fcd3 100644 (file)
@@ -1,6 +1,6 @@
 # Remove this package from a list of references stored in a text file.
 #
-#   Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
index 659aff52f1867f298fe40f5ead473c60ea028ca0..c965c80d7a096e4ee4121f808858cc72b9535536 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -2201,7 +2199,11 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
        {
          branch = parse_branch (regexp, preg, token, syntax, nest, err);
          if (BE (*err != REG_NOERROR && branch == NULL, 0))
-           return NULL;
+           {
+             if (tree != NULL)
+               postorder (tree, free_tree, NULL);
+             return NULL;
+           }
        }
       else
        branch = NULL;
@@ -2462,14 +2464,22 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
   while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS
         || token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM)
     {
-      tree = parse_dup_op (tree, regexp, dfa, token, syntax, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
-       return NULL;
+      bin_tree_t *dup_tree = parse_dup_op (tree, regexp, dfa, token,
+                                          syntax, err);
+      if (BE (*err != REG_NOERROR && dup_tree == NULL, 0))
+       {
+         if (tree != NULL)
+           postorder (tree, free_tree, NULL);
+         return NULL;
+       }
+      tree = dup_tree;
       /* In BRE consecutive duplications are not allowed.  */
       if ((syntax & RE_CONTEXT_INVALID_DUP)
          && (token->type == OP_DUP_ASTERISK
              || token->type == OP_OPEN_DUP_NUM))
        {
+         if (tree != NULL)
+           postorder (tree, free_tree, NULL);
          *err = REG_BADRPT;
          return NULL;
        }
@@ -2625,6 +2635,8 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 
       /* Duplicate ELEM before it is marked optional.  */
       elem = duplicate_tree (elem, dfa);
+      if (BE (elem == NULL, 0))
+        goto parse_dup_op_espace;
       old_tree = tree;
     }
   else
index 0b1a6515e8cbd7e0576bd32ade09ae38f926a709..6d0ae8825b8d17b69df79ec08e046079f9f74617 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
index 5bb06aca906bd3035434ee1f450c6a8eda06d118..f7de3943fc7bd4be6759c3ab51dd88efc7f8b730 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* 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-2014 Free Software
+   Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2015 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -246,19 +244,16 @@ extern reg_syntax_t re_syntax_options;
    | RE_INVALID_INTERVAL_ORD)
 
 # define RE_SYNTAX_GREP                                                        \
-  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES                                \
-   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS                           \
-   | RE_NEWLINE_ALT)
+  ((RE_SYNTAX_POSIX_BASIC | RE_NEWLINE_ALT)                            \
+   & ~(RE_CONTEXT_INVALID_DUP | RE_DOT_NOT_NULL))
 
 # define RE_SYNTAX_EGREP                                               \
-  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS                   \
-   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE                   \
-   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS                            \
-   | RE_NO_BK_VBAR)
+  ((RE_SYNTAX_POSIX_EXTENDED | RE_INVALID_INTERVAL_ORD | RE_NEWLINE_ALT) \
+   & ~(RE_CONTEXT_INVALID_OPS | RE_DOT_NOT_NULL))
 
+/* POSIX grep -E behavior is no longer incompatible with GNU.  */
 # define RE_SYNTAX_POSIX_EGREP                                         \
-  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES                    \
-   | RE_INVALID_INTERVAL_ORD)
+  RE_SYNTAX_EGREP
 
 /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
 # define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
@@ -610,7 +605,7 @@ extern void re_set_registers (struct re_pattern_buffer *__buffer,
                              regoff_t *__starts, regoff_t *__ends);
 #endif /* Use GNU */
 
-#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_BSD)
+#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_MISC)
 # ifndef _CRAY
 /* 4.2 bsd compatibility.  */
 extern char *re_comp (const char *);
index 056bf7285d4f23fc45915bdb1ffa10d4717ea411..47f1ccb744cafb9ee04fc161dabb0021db68fa46 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -679,7 +677,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
                         pstr->valid_len - offset);
              pstr->valid_len -= offset;
              pstr->valid_raw_len -= offset;
-#if DEBUG
+#if defined DEBUG && DEBUG
              assert (pstr->valid_len > 0);
 #endif
            }
@@ -938,7 +936,7 @@ re_string_context_at (const re_string_t *input, Idx idx, int eflags)
       Idx wc_idx = idx;
       while(input->wcs[wc_idx] == WEOF)
        {
-#ifdef DEBUG
+#if defined DEBUG && DEBUG
          /* It must not happen.  */
          assert (REG_VALID_INDEX (wc_idx));
 #endif
index 32ec047117132867bfed73dd73f4335085f05617..bf6b83b8c11e8bb820fb788312d036fb81a44199 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -42,7 +40,7 @@
 # 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
+#elif defined GNULIB_LOCK && !defined USE_UNLOCKED_IO
 # include "glthread/lock.h"
   /* Use gl_lock_define if empty macro arguments are known to work.
      Otherwise, fall back on less-portable substitutes.  */
@@ -64,7 +62,7 @@
 # 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
+#elif defined GNULIB_PTHREAD && !defined USE_UNLOCKED_IO
 # include <pthread.h>
 # define lock_define(name) pthread_mutex_t name;
 # define lock_init(lock) pthread_mutex_init (&(lock), 0)
index 168ad7860b22c1187d4fca25aeb7eb833b9fba0a..85de71d763708c07c6ab151e2fe93e1a36cc0ef5 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
index 025f882c48451232980cad881a5378bf804fa138..43be743db406c5589fc2ef4f45130600eecd0588 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Work around rename bugs in some systems.
 
-   Copyright (C) 2001-2003, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -287,7 +285,7 @@ rpl_rename (char const *src, char const *dst)
   char *dst_temp = (char *) dst;
   bool src_slash;
   bool dst_slash;
-  bool dst_exists;
+  bool dst_exists _GL_UNUSED;
   int ret_val = -1;
   int rename_errno = ENOTDIR;
   struct stat src_st;
@@ -464,7 +462,9 @@ rpl_rename (char const *src, char const *dst)
 
   ret_val = rename (src_temp, dst_temp);
   rename_errno = errno;
- out:
+
+ out: _GL_UNUSED_LABEL;
+
   if (src_temp != src)
     free (src_temp);
   if (dst_temp != dst)
index 1042a55eb8f33f975d89d5785a8537e4dd7aa83f..fa416f004ccec4a81810889796b8d04050caeb1c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Rename a file relative to open directories.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8d8950f61aabb49039f14dcec49eec00de37b1cb..8e3b4dd97ee98bf99969a6e90e6fab97232c17e7 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3b1e19fadd7910b241571b017f1150c589139386..ae21d54195adff5e9f7146dcd7c8fff9637294fa 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Work around rmdir bugs.
 
-   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index d05bdd462f3ccc18b91ac396e909e52e25de3872..d263f4da3cb294995c36ea046537aa8c05378f63 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 04caae20ad55e7563553dc262da0b3206ebe7550..b24160472057631fe7982adda7a22849109971bf 100644 (file)
@@ -1,9 +1,7 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine whether string value is affirmation or negative response
    according to current locale's data.
 
-   Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2014 Free Software
+   Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index efc7467f79a86c8fc13a222c30f7bb3808dd6c66..dbb63380059991974210c4145cf3d312417aab31 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* An interface to read and write that retries after interrupts.
 
-   Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2014 Free Software
+   Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 1113949388267056b394f2c22fb1991188a5d6cc..b5d408acefe98bdeca4d92e4480e297b0bf6d32d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index c5cc20995a8cdd1c67e7f69124b4b2ade08ddeef..4c178f529b796df7db0a65d636214c61adfadc47 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* An interface to write that retries after interrupts.
-   Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8fcea32214dc41fed4cb1fefe9aab689053e6d51..86a32b2aea70027fcfc204891ce3fde35971070b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* An interface to write() that retries after interrupts.
-   Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 25cb2ca0b62ced5b4d426c296dbe4bdd2d14bf02..ecc3049d744ca7dd497901bb0e2efc0a344f3bf6 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine whether two stat buffers refer to the same file.
 
-   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b5a028bc54b9d22946385a53e3e0fb8916646f4b..159d8a89c6e5bea42958684a49ae57171fc05872 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* save-cwd.c -- Save and restore current working directory.
 
-   Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2014 Free Software
+   Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 5d8e4fa8bce44eff4e45511561ecd6f8fe478ec1..890f7fba51161c27f85f54ea5a79f57e530762ca 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Save and restore current working directory.
 
-   Copyright (C) 1995, 1997-1998, 2003, 2009-2014 Free Software Foundation,
+   Copyright (C) 1995, 1997-1998, 2003, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index 8657bfdd336fc58192c9977d3ed3ca8fb4641465..61b0fa3ca86c82d2ac4525f5d8be6bebf42b3c42 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* 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-2014 Free Software
+   Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -163,7 +161,8 @@ streamsavedir (DIR *dirp, enum savedir_option option)
     {
       size_t i;
 
-      qsort (entries, entries_used, sizeof *entries, cmp);
+      if (entries_used)
+        qsort (entries, entries_used, sizeof *entries, cmp);
       name_space = xmalloc (used + 1);
       used = 0;
       for (i = 0; i < entries_used; i++)
index 5b53e6514352b95a5bd7e7ce4a9bdcf76a5bf4fc..70588aa8b41239298de0ee814ecbf58f4d204031 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Save the list of files in a directory in a string.
 
-   Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2014 Free Software
+   Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 7ef4d9723621cc75a28dd08345074f17739f0eaa..2e5aa13172934aa93b3b3551ffb624eb82b826e9 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define SE_CONTEXT_INLINE _GL_EXTERN_INLINE
 #include <selinux/context.h>
index ebe72775601499a5f17650f9dc7540376e8046e6..c3890a2bf36e4d5032c33645812547af337889f6 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #ifndef SELINUX_CONTEXT_H
 # define SELINUX_CONTEXT_H
 
index bdf696b3d44deb18895e3a7c53b1fe65bf35cfc8..ee4e57fc033e6949a7d0ca870e0c26196d89ab69 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define SE_SELINUX_INLINE _GL_EXTERN_INLINE
 #include <selinux/selinux.h>
index e798e1e7bcbc3529d243d1634999eb0b6aa67b91..5d8f950409318e4be46a9c2cd66fca0567b129ba 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Replacement <selinux/selinux.h> for platforms that lack it.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b8920c11276c035d221093eec6338f3dbb60b469..31aad1fd009cb9f809b1bd250b5398bf2c26dd80 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Look up an environment variable more securely.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index da998cd741a582dc4a85cf94a74fcd27cab3e555..fbbbf5d376662c460ef0c851822b64e17b3e7342 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* openat-style fd-relative functions for SE Linux
-   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 1808e357bdde5dc25d687741cc3e491d009b5402..93340eeca963976dc148d475ae8a738ae21399b4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Prototypes for openat-style fd-relative SELinux functions
-   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
 
    This 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/set-permissions.c b/gnu/set-permissions.c
new file mode 100644 (file)
index 0000000..1aa5b49
--- /dev/null
@@ -0,0 +1,846 @@
+/* set-permissions.c - set permissions of a file
+
+   Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible.  */
+
+#include <config.h>
+
+#include "acl.h"
+
+#include "acl-internal.h"
+
+#if USE_ACL
+# if ! defined HAVE_ACL_FROM_MODE && defined HAVE_ACL_FROM_TEXT /* FreeBSD, IRIX, Tru64 */
+#  if HAVE_ACL_GET_FILE && !HAVE_ACL_TYPE_EXTENDED
+
+static acl_t
+acl_from_mode (mode_t mode)
+{
+#  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';
+
+  return acl_from_text (acl_text);
+}
+#  endif
+# endif
+
+# if HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
+static int
+set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod)
+{
+#  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 <sys/acl.h> 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)
+           {
+             *must_chmod = true;
+             return 0;
+           }
+          return -1;
+        }
+      if (ret == 0)
+       return 0;
+    }
+#  endif
+
+  {
+    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)
+         {
+           *must_chmod = true;
+           return 0;
+         }
+       return -1;
+      }
+  }
+}
+
+# elif HAVE_GETACL /* HP-UX */
+static int
+context_acl_from_mode (struct permission_context *ctx, const char *name, int desc)
+{
+  struct stat statbuf;
+  int ret;
+
+  if (desc != -1)
+    ret = fstat (desc, &statbuf);
+  else
+    ret = stat (name, &statbuf);
+  if (ret < 0)
+    return -1;
+
+  ctx->entries[0].uid = statbuf.st_uid;
+  ctx->entries[0].gid = ACL_NSGROUP;
+  ctx->entries[0].mode = (ctx->mode >> 6) & 7;
+  ctx->entries[1].uid = ACL_NSUSER;
+  ctx->entries[1].gid = statbuf.st_gid;
+  ctx->entries[1].mode = (ctx->mode >> 3) & 7;
+  ctx->entries[2].uid = ACL_NSUSER;
+  ctx->entries[2].gid = ACL_NSGROUP;
+  ctx->entries[2].mode = ctx->mode & 7;
+  ctx->count = 3;
+  return 0;
+}
+
+#  if HAVE_ACLV_H /* HP-UX >= 11.11 */
+static int
+context_aclv_from_mode (struct permission_context *ctx)
+{
+  int ret;
+
+  ctx->aclv_entries[0].a_type = USER_OBJ;
+  ctx->aclv_entries[0].a_id = 0; /* irrelevant */
+  ctx->aclv_entries[0].a_perm = (ctx->mode >> 6) & 7;
+  ctx->aclv_entries[1].a_type = GROUP_OBJ;
+  ctx->aclv_entries[1].a_id = 0; /* irrelevant */
+  ctx->aclv_entries[1].a_perm = (ctx->mode >> 3) & 7;
+  ctx->aclv_entries[2].a_type = CLASS_OBJ;
+  ctx->aclv_entries[2].a_id = 0;
+  ctx->aclv_entries[2].a_perm = (ctx->mode >> 3) & 7;
+  ctx->aclv_entries[3].a_type = OTHER_OBJ;
+  ctx->aclv_entries[3].a_id = 0;
+  ctx->aclv_entries[3].a_perm = ctx->mode & 7;
+  ctx->aclv_count = 4;
+
+  ret = aclsort (ctx->aclv_count, 1, ctx->aclv_entries);
+  if (ret > 0)
+    abort ();
+  return ret;
+}
+#  endif
+
+# elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */
+static int
+set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod)
+{
+  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)
+    {
+      *must_chmod = true;
+      return 0;
+    }
+
+  /* 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;
+    }
+
+  *must_chmod = true;
+  return 0;
+}
+
+# elif HAVE_STATACL /* older AIX */
+static int
+context_acl_from_mode (struct permission_context *ctx)
+{
+  ctx->u.a.acl_len = (char *) &ctx->u.a.acl_ext[0] - (char *) &ctx->u.a; /* no entries */
+  ctx->u.a.acl_mode = ctx->mode & ~(S_IXACL | 0777);
+  ctx->u.a.u_access = (ctx->mode >> 6) & 7;
+  ctx->u.a.g_access = (ctx->mode >> 3) & 7;
+  ctx->u.a.o_access = ctx->mode & 7;
+  ctx->have_u = true;
+  return 0;
+}
+
+# elif HAVE_ACLSORT /* NonStop Kernel */
+static int
+context_acl_from_mode (struct permission_context *ctx)
+{
+  int ret;
+
+  ctx->entries[0].a_type = USER_OBJ;
+  ctx->entries[0].a_id = 0; /* irrelevant */
+  ctx->entries[0].a_perm = (ctx->mode >> 6) & 7;
+  ctx->entries[1].a_type = GROUP_OBJ;
+  ctx->entries[1].a_id = 0; /* irrelevant */
+  ctx->entries[1].a_perm = (ctx->mode >> 3) & 7;
+  ctx->entries[2].a_type = CLASS_OBJ;
+  ctx->entries[2].a_id = 0;
+  ctx->entries[2].a_perm = (ctx->mode >> 3) & 7;
+  ctx->entries[3].a_type = OTHER_OBJ;
+  ctx->entries[3].a_id = 0;
+  ctx->entries[3].a_perm = ctx->mode & 7;
+  ctx->count = 4;
+
+  ret = aclsort (ctx->count, 1, entries);
+  if (ret > 0)
+    abort ();
+  return ret;
+}
+# endif
+
+static int
+set_acls (struct permission_context *ctx, const char *name, int desc,
+         int from_mode, bool *must_chmod, bool *acls_set)
+{
+  int ret = 0;
+
+# 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 */
+
+#   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
+
+  if (! ctx->acls_not_supported)
+    {
+      if (ret == 0 && from_mode)
+       {
+         if (ctx->acl)
+           acl_free (ctx->acl);
+         ctx->acl = acl_from_mode (ctx->mode);
+         if (ctx->acl == NULL)
+           ret = -1;
+       }
+
+      if (ret == 0 && ctx->acl)
+       {
+         if (HAVE_ACL_SET_FD && desc != -1)
+           ret = acl_set_fd (desc, ctx->acl);
+         else
+           ret = acl_set_file (name, ACL_TYPE_ACCESS, ctx->acl);
+         if (ret != 0)
+           {
+             if (! acl_errno_valid (errno))
+               {
+                 ctx->acls_not_supported = true;
+                 if (from_mode || acl_access_nontrivial (ctx->acl) == 0)
+                   ret = 0;
+               }
+           }
+         else
+           {
+             *acls_set = true;
+             if (S_ISDIR(ctx->mode))
+               {
+                 if (! from_mode && ctx->default_acl &&
+                     acl_default_nontrivial (ctx->default_acl))
+                   ret = acl_set_file (name, ACL_TYPE_DEFAULT,
+                                       ctx->default_acl);
+                 else
+                   ret = acl_delete_def_file (name);
+               }
+           }
+       }
+    }
+
+# if HAVE_ACL_TYPE_NFS4  /* FreeBSD */
+
+  /* File systems either support POSIX ACLs (for example, ufs) or NFS4 ACLs
+     (for example, zfs). */
+
+  /* TODO: Implement setting ACLs once get_permissions() reads them. */
+
+# endif
+
+#  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.  */
+
+  if (ctx->acl == NULL)
+    {
+      acl_t acl;
+
+      /* Remove ACLs 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);
+             acl_free (acl);
+           }
+         else
+           ret = -1;
+       }
+    }
+  else
+    {
+      if (HAVE_ACL_SET_FD && desc != -1)
+       ret = acl_set_fd (desc, ctx->acl);
+      else
+       ret = acl_set_file (name, ACL_TYPE_EXTENDED, ctx->acl);
+      if (ret != 0)
+       {
+         if (! acl_errno_valid (errno)
+             && ! acl_extended_nontrivial (ctx->acl))
+           ret = 0;
+       }
+    }
+  *acls_set = true;
+
+#  endif
+
+# elif 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.  */
+
+  /* If both ace_entries and entries are available, try SETACL before
+     ACE_SETACL, because SETACL cannot fail with ENOTSUP whereas ACE_SETACL
+     can.  */
+
+  if (from_mode)
+    return set_acls_from_mode (name, desc, ctx->mode, must_chmod);
+
+  if (ret == 0 && ctx->count)
+    {
+      if (desc != -1)
+       ret = facl (desc, SETACL, ctx->count, ctx->entries);
+      else
+       ret = acl (name, SETACL, ctx->count, ctx->entries);
+      if (ret < 0)
+       {
+         if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+             && acl_nontrivial (ctx->count, ctx->entries) == 0)
+           ret = 0;
+       }
+      else
+       *acls_set = true;
+    }
+
+#  ifdef ACE_GETACL
+  if (ret == 0 && ctx->ace_count)
+    {
+      if (desc != -1)
+       ret = facl (desc, ACE_SETACL, ctx->ace_count, ctx->ace_entries);
+      else
+       ret = acl (name, ACE_SETACL, ctx->ace_count, ctx->ace_entries);
+      if (ret < 0)
+       {
+         if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP)
+             && acl_ace_nontrivial (ctx->ace_count, ctx->ace_entries) == 0)
+           ret = 0;
+       }
+      else
+       *acls_set = true;
+    }
+#  endif
+
+# elif HAVE_GETACL /* HP-UX */
+
+  if (from_mode)
+    ret = context_acl_from_mode (ctx, name, desc);
+
+  if (ret == 0 && ctx->count > 0)
+    {
+      if (desc != -1)
+       ret = fsetacl (desc, ctx->count, ctx->entries);
+      else
+       ret = setacl (name, ctx->count, ctx->entries);
+      if (ret < 0)
+       {
+         if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
+             && (from_mode || !acl_nontrivial (ctx->count, ctx->entries)))
+           ret = 0;
+       }
+      else
+       *acls_set = true;
+    }
+
+#  if HAVE_ACLV_H
+  if (from_mode)
+    ret = context_aclv_from_mode (ctx);
+
+  if (ret == 0 && ctx->aclv_count > 0)
+    {
+      ret = acl ((char *) name, ACL_SET, ctx->aclv_count, ctx->aclv_entries);
+      if (ret < 0)
+       {
+         if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+             && (from_mode || !aclv_nontrivial (ctx->aclv_count, ctx->aclv_entries)))
+           ret = 0;
+       }
+      else
+       *acls_set = true;
+    }
+#  endif
+
+# elif HAVE_ACLX_GET && ACL_AIX_WIP /* AIX */
+
+  /* TODO: Implement setting ACLs once get_permissions() reads them. */
+
+  if (from_mode)
+    ret = set_acls_from_mode (name, desc, mode, must_chmod);
+
+# elif HAVE_STATACL /* older AIX */
+
+  if (from_mode)
+    ret = context_acl_from_mode (ctx);
+
+  if (ret == 0 && ctx->have_u)
+    {
+      if (desc != -1)
+       ret = fchacl (desc, &ctx->u.a, ctx->u.a.acl_len);
+      else
+       ret = chacl ((char *) name, &ctx->u.a, ctx->u.a.acl_len);
+      if (ret < 0)
+       {
+         if (errno == ENOSYS && from_mode)
+           ret = 0;
+       }
+      else
+       *acls_set = true;
+    }
+
+# elif HAVE_ACLSORT /* NonStop Kernel */
+
+  if (from_mode)
+    ret = context_acl_from_mode (ctx);
+
+  if (ret == 0 && ctx->count)
+    {
+      ret = acl ((char *) name, ACL_SET, ctx->count, ctx->entries);
+      if (ret != 0)
+       {
+         if (!acl_nontrivial (ctx->count, ctx->entries))
+           ret = 0;
+       }
+      else
+       *acls_set = true;
+    }
+
+# else  /* No ACLs */
+
+  /* Nothing to do. */
+
+# endif
+
+  return ret;
+}
+#endif
+
+/* 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 permissions in CTX on a file. If DESC is a valid file descriptor,
+   use file descriptor operations, else use filename based operations on NAME.
+   If access control lists are not available, fchmod the target file to the
+   mode in CTX.  Also sets the non-permission bits of the destination file
+   (S_ISUID, S_ISGID, S_ISVTX) to those from the mode in CTX if any are set.
+   Return 0 if successful.  Return -1 and set errno upon failure.  */
+
+int
+set_permissions (struct permission_context *ctx, const char *name, int desc)
+{
+  bool acls_set _GL_UNUSED = false;
+  bool early_chmod;
+  bool must_chmod = false;
+  int ret = 0;
+
+#if USE_ACL
+# if HAVE_STATACL
+  /* older AIX */
+  /* There is no need to call chmod_or_fchmod, since the mode
+     bits S_ISUID, S_ISGID, S_ISVTX are also stored in the ACL.  */
+
+  early_chmod = false;
+# else
+  /* All other platforms */
+  /* 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).  */
+
+  early_chmod = (! MODE_INSIDE_ACL || (ctx->mode & (S_ISUID | S_ISGID | S_ISVTX)));
+# endif
+#else
+  /* No ACLs */
+
+  early_chmod = true;
+#endif
+
+  if (early_chmod)
+    {
+      ret = chmod_or_fchmod (name, desc, ctx->mode);
+      if (ret != 0)
+       return -1;
+    }
+
+#if USE_ACL
+  ret = set_acls (ctx, name, desc, false, &must_chmod, &acls_set);
+  if (! acls_set)
+    {
+      int saved_errno = ret ? errno : 0;
+
+      /* If we can't set an acl which we expect to be able to set, try setting
+        the permissions to ctx->mode. Due to possible inherited permissions,
+        we cannot simply chmod.  */
+
+      ret = set_acls (ctx, name, desc, true, &must_chmod, &acls_set);
+      if (! acls_set)
+       must_chmod = true;
+
+      if (saved_errno)
+       {
+         errno = saved_errno;
+         ret = -1;
+       }
+    }
+#endif
+
+  if (must_chmod && ! early_chmod)
+    {
+      int saved_errno = ret ? errno : 0;
+
+      ret = chmod_or_fchmod (name, desc, ctx->mode);
+
+      if (saved_errno)
+       {
+         errno = saved_errno;
+         ret = -1;
+       }
+    }
+
+  return ret;
+}
index bb458d6257195e162e68bf0db4d6b0d2459d8dcf..6b16fd584182ced82a9f56eb9d150fc205eab84b 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1992, 1995-2003, 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2015 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
index 98c6567038871b65cf6d8d324e125d45d6722dfe..265b72ab0ec5fbff87cd210dc89fe8ff570cc8f5 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <signal.h>.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #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 <pthread.h>, not in <signal.h>.
+/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6, Android
+   declare pthread_sigmask in <pthread.h>, not in <signal.h>.
    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 __APPLE__ && defined __MACH__) \
+        || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ \
+        || defined __sun || defined __ANDROID__) \
     && ! defined __GLIBC__
 # include <pthread.h>
 #endif
index a7734080a43b20b1ba42368c6044d8a0c7e272c2..5a0568e5f5adb050cd394acc283e59a3b8850d03 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
index 32b151fd933be95f11158b72adaed9c67dc3f945..b86ec6ff214d83b668bc3ebfe8016c69824ef4ec 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Pausing execution of the current thread.
-   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software: you can redistribute it and/or modify
index 28713ad7d89a8834cb04795aef413ce1bd27e7bd..11500cad3566143a4e9de70772fa5fe61c41e6b4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc.
    Written by Simon Josefsson and Paul Eggert.
 
    This program is free software; you can redistribute it and/or modify
index 00112cef10365b5e9e8eacc22f6c4de30f2c9085..690216c74e264ea368fc7f70b180251e341d4149 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* All the mode bits that can be affected by chmod.  */
 #define CHMOD_MODE_BITS \
   (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO)
index 45a4079d2570ea589c79774cbab5fdedb4eb9224..81b83ddb4fec1cc3a03ede18e63227f2c7ee6157 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE
 #include "stat-time.h"
index 8f18fd7112d5ba218708cded33f72805eee813fe..b67d1798353817b56a35f1d6a268dd23356eb0f4 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* stat-related time functions.
 
-   Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -56,7 +54,7 @@ _GL_INLINE_HEADER_BEGIN
 #endif
 
 /* Return the nanosecond component of *ST's access time.  */
-_GL_STAT_TIME_INLINE long int
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
 get_stat_atime_ns (struct stat const *st)
 {
 # if defined STAT_TIMESPEC
@@ -69,7 +67,7 @@ get_stat_atime_ns (struct stat const *st)
 }
 
 /* Return the nanosecond component of *ST's status change time.  */
-_GL_STAT_TIME_INLINE long int
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
 get_stat_ctime_ns (struct stat const *st)
 {
 # if defined STAT_TIMESPEC
@@ -82,7 +80,7 @@ get_stat_ctime_ns (struct stat const *st)
 }
 
 /* Return the nanosecond component of *ST's data modification time.  */
-_GL_STAT_TIME_INLINE long int
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
 get_stat_mtime_ns (struct stat const *st)
 {
 # if defined STAT_TIMESPEC
@@ -95,7 +93,7 @@ get_stat_mtime_ns (struct stat const *st)
 }
 
 /* Return the nanosecond component of *ST's birth time.  */
-_GL_STAT_TIME_INLINE long int
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
 get_stat_birthtime_ns (struct stat const *st)
 {
 # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
@@ -110,7 +108,7 @@ get_stat_birthtime_ns (struct stat const *st)
 }
 
 /* Return *ST's access time.  */
-_GL_STAT_TIME_INLINE struct timespec
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
 get_stat_atime (struct stat const *st)
 {
 #ifdef STAT_TIMESPEC
@@ -124,7 +122,7 @@ get_stat_atime (struct stat const *st)
 }
 
 /* Return *ST's status change time.  */
-_GL_STAT_TIME_INLINE struct timespec
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
 get_stat_ctime (struct stat const *st)
 {
 #ifdef STAT_TIMESPEC
@@ -138,7 +136,7 @@ get_stat_ctime (struct stat const *st)
 }
 
 /* Return *ST's data modification time.  */
-_GL_STAT_TIME_INLINE struct timespec
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
 get_stat_mtime (struct stat const *st)
 {
 #ifdef STAT_TIMESPEC
@@ -153,7 +151,7 @@ get_stat_mtime (struct stat const *st)
 
 /* Return *ST's birth time, if available; otherwise return a value
    with tv_sec and tv_nsec both equal to -1.  */
-_GL_STAT_TIME_INLINE struct timespec
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
 get_stat_birthtime (struct stat const *st)
 {
   struct timespec t;
index c5a36967a3ac78afc41763e7f2f2f18524004766..2209826fc31084bc9759e2308173a35fa2bded50 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 556a9dca13bb07a72a243e1e217e21e164968474..8cdb17e4f40615f017e0ebc1cdd074aaebcc47c4 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define STATAT_INLINE _GL_EXTERN_INLINE
 #include "openat.h"
index 6f1f4d540b6009ff612e9f2ca0b1dae643dec239..c6115b6dbe05f96ceaf8226e6a9bc176ee322661 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C11 <stdalign.h>.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -66,7 +64,9 @@
 #  define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
 # endif
 #endif
-#define alignof _Alignof
+#if ! (defined __cplusplus && 201103 <= __cplusplus)
+# define alignof _Alignof
+#endif
 #define __alignof_is_defined 1
 
 /* alignas (A), also known as _Alignas (A), aligns a variable or type
 #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
 # if defined __cplusplus && 201103 <= __cplusplus
 #  define _Alignas(a) alignas (a)
-# elif (__GNUC__ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+# elif ((defined __APPLE__ && defined __MACH__                  \
+         ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__)                 \
+         : __GNUC__)                                            \
+        || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__        \
         || __ICC || 0x5110 <= __SUNPRO_C)
 #  define _Alignas(a) __attribute__ ((__aligned__ (a)))
 # elif 1300 <= _MSC_VER
 #  define _Alignas(a) __declspec (align (a))
 # endif
 #endif
-#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__)
+#if ((defined _Alignas && ! (defined __cplusplus && 201103 <= __cplusplus)) \
+     || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__))
 # define alignas _Alignas
+#endif
+#if defined alignas || (defined __cplusplus && 201103 <= __cplusplus)
 # define __alignas_is_defined 1
 #endif
 
index a1659870cbfb19058afbd51f110ab7f72eff5ee4..5239f51af76db138a04652444ab3146a4cbaed7f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <stdarg.h>.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 2f418ca2d4d97c2cd0fc57f0cb2188056ec666fb..64a17618255ff8e7bfb4e5cc9b817c8c609a2ba0 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
    This program is free software; you can redistribute it and/or modify
index 597ae3ef1c3ecf793e02132470a71e16a80f94a8..698307bc9559d35e497a2bdd5c42726aeb00df94 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -41,7 +39,6 @@
 
 # if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
 #  ifdef __need_wint_t
-#   undef _@GUARD_PREFIX@_STDDEF_H
 #   define _GL_STDDEF_WINT_T
 #  endif
 #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
 
 #  @INCLUDE_NEXT@ @NEXT_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@
-# undef NULL
-# ifdef __cplusplus
+#  if (@REPLACE_NULL@ \
+       && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T))
+#   undef NULL
+#   ifdef __cplusplus
    /* ISO C++ says that the macro NULL must expand to an integer constant
       expression, hence '((void *) 0)' is not allowed in C++.  */
-#  if __GNUG__ >= 3
+#    if __GNUG__ >= 3
     /* GNU C++ has a __null macro that behaves like an integer ('int' or
        'long') but has the same size as a pointer.  Use that, to avoid
        warnings.  */
-#   define NULL __null
-#  else
-#   define NULL 0L
+#     define NULL __null
+#    else
+#     define NULL 0L
+#    endif
+#   else
+#    define NULL ((void *) 0)
+#   endif
 #  endif
-# else
-#  define NULL ((void *) 0)
-# endif
-#endif
+
+#  ifndef _@GUARD_PREFIX@_STDDEF_H
+#   define _@GUARD_PREFIX@_STDDEF_H
 
 /* Some platforms lack wchar_t.  */
 #if !@HAVE_WCHAR_T@
 # define wchar_t int
 #endif
 
+/* Some platforms lack max_align_t.  */
+#if !@HAVE_MAX_ALIGN_T@
+/* On the x86, the maximum storage alignment of double, long, etc. is 4,
+   but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
+   and the C11 standard allows this.  Work around this problem by
+   using __alignof__ (which returns 8 for double) rather than _Alignof
+   (which returns 4), and align each union member accordingly.  */
+# ifdef __GNUC__
+#  define _GL_STDDEF_ALIGNAS(type) \
+     __attribute__ ((__aligned__ (__alignof__ (type))))
+# else
+#  define _GL_STDDEF_ALIGNAS(type) /* */
+# endif
+typedef union
+{
+  char *__p _GL_STDDEF_ALIGNAS (char *);
+  double __d _GL_STDDEF_ALIGNAS (double);
+  long double __ld _GL_STDDEF_ALIGNAS (long double);
+  long int __i _GL_STDDEF_ALIGNAS (long int);
+} max_align_t;
+#endif
+
 #  endif /* _@GUARD_PREFIX@_STDDEF_H */
 # endif /* _@GUARD_PREFIX@_STDDEF_H */
 #endif /* __need_XXX */
index 5d30b76ee67011ef2abbf586f56215b77c2c6ca6..378de2ec6d49a2d4684db091ac379b4f1f61c9f8 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
index b65f6fd2e4633daa87e64feac3ec5a294a1baa7f..502d891b2fc8fa484fe8b3ba1a2b17e54a0b660a 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Implementation details of FILE streams.
-   Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc.
 
    This 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 +28,8 @@
 
 #include <errno.h>                             /* For detecting Plan9.  */
 
-#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
+#if defined __sferror || defined __DragonFly__ || defined __ANDROID__
+  /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
 
 # if defined __DragonFly__          /* DragonFly */
   /* See <http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/priv_stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>.  */
@@ -68,7 +67,7 @@
       /* More fields, not relevant here.  */
     };
 #  define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub
-# else                                         /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin */
+# else                                         /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin, Android */
 #  define fp_ub fp_->_ub
 # endif
 
index f715bdfcf815be002188bf440f100a8cd4b5d5cb..ec438742969b245c5c17b9dda55ef73695b1b899 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    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) \
+#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+  _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument)
+#else
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
   _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+#endif
 
 /* _GL_ATTRIBUTE_FORMAT_SCANF
    indicates to GCC that the function takes a format string and arguments,
@@ -720,11 +723,10 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
    so any use of gets warrants an unconditional warning; besides, C11
    removed it.  */
 #undef gets
-#if HAVE_RAW_DECL_GETS
+#if HAVE_RAW_DECL_GETS && !defined __cplusplus
 _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
index 7f64d2f6e61c7e2a23c0e8c9653bca1d803f67e3..428a119188c84d331314eb2d0cb66faa028452d1 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -522,6 +520,29 @@ _GL_CXXALIAS_SYS (putenv, int, (char *string));
 _GL_CXXALIASWARN (putenv);
 #endif
 
+#if @GNULIB_QSORT_R@
+# if @REPLACE_QSORT_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef qsort_r
+#   define qsort_r rpl_qsort_r
+#  endif
+_GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+_GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg));
+# else
+_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg));
+# endif
+_GL_CXXALIASWARN (qsort_r);
+#endif
+
 
 #if @GNULIB_RANDOM_R@
 # if !@HAVE_RANDOM_R@
index 8013fb0283c4d65410d1bbecef79b1776c9187f6..559d2f231d46fd4007546c29a38c8931b95b9eed 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software
+   Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2015 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C Library.
index dee5d381e3c2d47fa7f72cd9421d358e782f1286..d6e3c1130ef1aa1bb3797041285e0e1be537daaa 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7ea2fca79f5c966858e690ddc6e4ee1520989888..1000e83f103d2512ea99bce9e3fd953276e7d47c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Searching in a string.
-   Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 614fe840dd30eab04dae56ebb6d08980654ae590..4fdd0bd918d7abeb2ad0181169f9e747defdcb1b 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2014 Free Software
+/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This file is part of the GNU C Library.
index e7ee9fcbe253bf7aab55874f235fbb1fdc40409f..6107fc6bd224b40b8ab7f88c7da049b4538ac7a6 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Optimized string comparison.
-   Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index 5f129b8c981cee2fbb0a8384efeb57babdfa9070..2bb4d7457d7c22b73f4015c09f4e1a292af3cb42 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f65c0b95a6219e82b10ed402a53bc1617b74de93..7af36dfd45eab049c2d6e8e547d74d877a069144 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 612b79c4dac06b757ad209a6134d7d2730c04676..adba738b7b40e84611e02d4a392a83ca7637f30c 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f451611e96f2ba1accb903cfe7632484bbc0897f..d1ca346b6873b6c6039f822002fdbd108bf78c10 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2001, 2003-2007, 2009-2015 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@prep.ai.mit.edu.
@@ -32,6 +30,7 @@
 # else
 #  include "strftime.h"
 # endif
+# include "time-internal.h"
 #endif
 
 #include <ctype.h>
@@ -123,22 +122,11 @@ extern char *tzname[];
 
 
 #ifdef _LIBC
+# define mktime_z(tz, tm) mktime (tm)
 # define tzname __tzname
 # define tzset __tzset
 #endif
 
-#if !HAVE_TM_GMTOFF
-/* Portable standalone applications should supply a "time.h" that
-   declares a POSIX-compliant localtime_r, for the benefit of older
-   implementations that lack localtime_r or have a nonstandard one.
-   See the gnulib time_r module for one way to implement this.  */
-# undef __gmtime_r
-# undef __localtime_r
-# define __gmtime_r gmtime_r
-# define __localtime_r localtime_r
-#endif
-
-
 #ifndef FPRINTFTIME
 # define FPRINTFTIME 0
 #endif
@@ -387,12 +375,7 @@ iso_week_days (int yday, int wday)
 
 /* When compiling this file, GNU applications can #define my_strftime
    to a symbol (typically nstrftime) to get an extended strftime with
-   extra arguments UT and NS.  Emacs is a special case for now, but
-   this Emacs-specific code can be removed once Emacs's config.h
-   defines my_strftime.  */
-#if defined emacs && !defined my_strftime
-# define my_strftime nstrftime
-#endif
+   extra arguments TZ and NS.  */
 
 #if FPRINTFTIME
 # undef my_strftime
@@ -400,8 +383,9 @@ iso_week_days (int yday, int wday)
 #endif
 
 #ifdef my_strftime
-# define extra_args , ut, ns
-# define extra_args_spec , int ut, int ns
+# undef HAVE_TZSET
+# define extra_args , tz, ns
+# define extra_args_spec , timezone_t tz, int ns
 #else
 # if defined COMPILE_WIDE
 #  define my_strftime wcsftime
@@ -413,7 +397,7 @@ iso_week_days (int yday, int wday)
 # define extra_args
 # define extra_args_spec
 /* We don't have this information in general.  */
-# define ut 0
+# define tz 1
 # define ns 0
 #endif
 
@@ -456,6 +440,9 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
 # define aw_len STRLEN (a_wkday)
 # define am_len STRLEN (a_month)
 # define ap_len STRLEN (ampm)
+#endif
+#if HAVE_TZNAME
+  char **tzname_vec = tzname;
 #endif
   const char *zone;
   size_t i = 0;
@@ -485,20 +472,29 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
   zone = (const char *) tp->tm_zone;
 #endif
 #if HAVE_TZNAME
-  if (ut)
+  if (!tz)
     {
       if (! (zone && *zone))
         zone = "GMT";
     }
   else
     {
+# if !HAVE_TM_ZONE
+      /* Infer the zone name from *TZ instead of from TZNAME.  */
+      tzname_vec = tz->tzname_copy;
+# endif
       /* POSIX.1 requires that local time zone information be used as
          though strftime called tzset.  */
 # if HAVE_TZSET
       tzset ();
 # endif
     }
+  /* The tzset() call might have changed the value.  */
+  if (!(zone && *zone) && tp->tm_isdst >= 0)
+    zone = tzname_vec[tp->tm_isdst != 0];
 #endif
+  if (! zone)
+    zone = "";
 
   if (hour12 > 12)
     hour12 -= 12;
@@ -1146,7 +1142,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
             time_t t;
 
             ltm = *tp;
-            t = mktime (&ltm);
+            t = mktime_z (tz, &ltm);
 
             /* Generate string value for T using time_t arithmetic;
                this works even if sizeof (long) < sizeof (time_t).  */
@@ -1321,14 +1317,6 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
               to_lowcase = true;
             }
 
-#if HAVE_TZNAME
-          /* The tzset() call might have changed the value.  */
-          if (!(zone && *zone) && tp->tm_isdst >= 0)
-            zone = tzname[tp->tm_isdst != 0];
-#endif
-          if (! zone)
-            zone = "";
-
 #ifdef COMPILE_WIDE
           {
             /* The zone string is always given in multibyte form.  We have
@@ -1368,7 +1356,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
 #if HAVE_TM_GMTOFF
             diff = tp->tm_gmtoff;
 #else
-            if (ut)
+            if (!tz)
               diff = 0;
             else
               {
@@ -1377,7 +1365,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
                 time_t lt;
 
                 ltm = *tp;
-                lt = mktime (&ltm);
+                lt = mktime_z (tz, &ltm);
 
                 if (lt == (time_t) -1)
                   {
@@ -1386,7 +1374,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
                        occurred.  */
                     struct tm tm;
 
-                    if (! __localtime_r (&lt, &tm)
+                    if (! localtime_rz (tz, &lt, &tm)
                         || ((ltm.tm_sec ^ tm.tm_sec)
                             | (ltm.tm_min ^ tm.tm_min)
                             | (ltm.tm_hour ^ tm.tm_hour)
@@ -1396,7 +1384,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
                       break;
                   }
 
-                if (! __gmtime_r (&lt, &gtm))
+                if (! localtime_rz (0, &lt, &gtm))
                   break;
 
                 diff = tm_diff (&ltm, &gtm);
@@ -1475,15 +1463,3 @@ my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
 #if defined _LIBC && ! FPRINTFTIME
 libc_hidden_def (my_strftime)
 #endif
-
-
-#if defined emacs && ! FPRINTFTIME
-/* For Emacs we have a separate interface which corresponds to the normal
-   strftime function plus the ut argument, but without the ns argument.  */
-size_t
-emacs_strftimeu (char *s, size_t maxsize, const char *format,
-                 const struct tm *tp, int ut)
-{
-  return my_strftime (s, maxsize, format, tp, ut, 0);
-}
-#endif
index eaeabe888f1750964965cc800ed9d8cddd019210..2ce6cc57687b36e7481442726654233ecba43c3e 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* declarations for strftime.c
 
-   Copyright (C) 2002, 2004, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2008-2015 Free Software Foundation, Inc.
 
    This 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 +23,10 @@ extern "C" {
 
 /* Just like strftime, but with two more arguments:
    POSIX requires that strftime use the local timezone information.
-   When __UTC is nonzero and tm->tm_zone is NULL or the empty string,
-   use UTC instead.  Use __NS as the number of nanoseconds in the
-   %N directive.  */
+   Use the timezone __TZ instead.  Use __NS as the number of
+   nanoseconds in the %N directive.  */
 size_t nstrftime (char *, size_t, char const *, struct tm const *,
-                  int __utc, int __ns);
+                  timezone_t __tz, int __ns);
 
 #ifdef __cplusplus
 }
index 971978230f91d3f7f2c76f8de87522b1808db737..2abd6bc0e1066de23f38f4cf4c5a22a39c1477c4 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    You should have received a copy of the GNU General Public License
    along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef _@GUARD_PREFIX@_STRING_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if defined _GL_ALREADY_INCLUDING_STRING_H
+/* Special invocation convention:
+   - On OS X/NetBSD we have a sequence of nested includes
+       <string.h> -> <strings.h> -> "string.h"
+     In this situation system _chk variants due to -D_FORTIFY_SOURCE
+     might be used after any replacements defined here.  */
+
+#@INCLUDE_NEXT@ @NEXT_STRING_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_STRING_H
+
+#define _GL_ALREADY_INCLUDING_STRING_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STRING_H@
 
+#undef _GL_ALREADY_INCLUDING_STRING_H
+
 #ifndef _@GUARD_PREFIX@_STRING_H
 #define _@GUARD_PREFIX@_STRING_H
 
@@ -1029,3 +1043,4 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
 
 #endif /* _@GUARD_PREFIX@_STRING_H */
 #endif /* _@GUARD_PREFIX@_STRING_H */
+#endif
index c3d4613e7064ca83577673a208666d6965f6f597..cf83465d37cc17f1ca2be2f1696f31d5bd9c8584 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute <strings.h>.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f9e7c139b208e2c8057ec1036bcb80ebc6051d0b..12359cf7bf5fc2a0941224ecf90215e3efcdc9bd 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* stripslash.c -- remove redundant trailing slashes from a file name
 
-   Copyright (C) 1990, 2001, 2003-2006, 2009-2014 Free Software Foundation,
+   Copyright (C) 1990, 2001, 2003-2006, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index b3f482c35fa5231419986482c56ffa04a71bca90..3d69f14ae5883529435d7a9ff6f2bc10b8a853c1 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 34fb360f204acce8edd030eaefa868fa4de53c0c..793d599035a3d179bf77340608a49504d73d1a24 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A replacement function, for systems that lack strndup.
 
-   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2014 Free Software
+   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
index 09a7866a206a5ed0c81de1bdcbbb8722c1b62c68..79e250c4d7389f31258942cdd870c895c14a195e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
index 70a2ed164112b0cbbf0ab50b322408b4821f1511..48272a8883401e7bb40515d58debef5c2edef831 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index ae247a0139306925c75752d0cd5bc210d594361f..794e436ec573e114ab55b892b4ff8b9a00d34174 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8e7dfbf24f1e8f7a041f8836ad5d17e945e8de48..8ff65cee4bc0bd28871a609306f3ab069e336b29 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert string representation of a number into an intmax_t value.
 
-   Copyright (C) 1999, 2001-2004, 2006, 2009-2014 Free Software Foundation,
+   Copyright (C) 1999, 2001-2004, 2006, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index 6e2fd82d37afae0dadeead2f6dbec8d7f02d6018..1bc143985dbdafb48ed2f0fb984d34d3d1440d16 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* 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-2014 Free Software
+   Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
index 04c95bc9972015386bb7ffccd91d45a0b6b26396..d7123491f3b03da5feb666340d6fc8dd9f9964b6 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Function to parse a 'long long int' from text.
-   Copyright (C) 1995-1997, 1999, 2001, 2009-2014 Free Software Foundation,
+   Copyright (C) 1995-1997, 1999, 2001, 2009-2015 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
index eda4dd2984e8dd22fe28005159e1d97442413178..205177770000e44a2cb4f2bb2aa507220181e25d 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991, 1997, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1997, 2009-2015 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
index 3d3a7f001fdcef01cb769300cab99409e79f1089..5cd2554c719cad39e1c668aa9e5204b2170d7854 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997, 1999, 2009-2015 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.
 
index 44a2f8bba410dc8079a779457045c5e904213bc4..dc395d626ab5c5437d60df0cb796c15765d5aedb 100644 (file)
@@ -1,4 +1,2 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define UNSIGNED 1
 #include "strtoimax.c"
index 10936d4cd1b7b7f08441d39458c61a399bf1b476..14356c30e7c956ab53941cb8fc7b05d8dc24c00f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Stub for symlink().
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index e63bf472eb7875f52e7d922fa9a2895ee9e7f620..84d55847696fe59dcb59a13b9dd7c7ac4e407775 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Create a symlink relative to an open directory.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <config.h>
 
 #include <unistd.h>
+#include <errno.h>
 
-#if !HAVE_SYMLINK
+#if HAVE_SYMLINKAT
+# undef symlinkat
+
+#include <sys/stat.h>
+#include <string.h>
+
+/* Create a symlink, but reject trailing slash.  */
+int
+rpl_symlinkat (char const *contents, int fd, char const *name)
+{
+  size_t len = strlen (name);
+  if (len && name[len - 1] == '/')
+    {
+      struct stat st;
+      if (fstatat (fd, name, &st, 0) == 0)
+        errno = EEXIST;
+      return -1;
+    }
+  return symlinkat (contents, fd, name);
+}
+
+#elif !HAVE_SYMLINK
 /* Mingw lacks symlink, and it is more efficient to provide a trivial
    wrapper than to go through at-func.c to call rpl_symlink.  */
 
-# include <errno.h>
-
 int
 symlinkat (char const *path1 _GL_UNUSED, int fd _GL_UNUSED,
            char const *path2 _GL_UNUSED)
index 1cfcd83b28783bae05a4d97ddea4910632397253..9f5e85369f7bb1362f7ec14308f0e3bcd3d347dc 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide a more complete sys/stat header file.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a8c28c0be6217873703f4717026a9b80c5e3154b..c556c5db23312cdf04ff7ffbf69a2f16366dfaab 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 593dce0a48a8c49a053554537db2800063e1d623..814bc179b0e0e60f3ec35c12d4006a2d037c62d2 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a1ea3c6222ba662c34273d4e76cc572cf0229f89..7747817f3f134ccaacfac0c74edaea0b26d8cfcf 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* exit() exit codes for some BSD system programs.
-   Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8dbcb50cbf1557bd1e096cde0c07c59919022c50..69c572fbcb40c73509488e91e5d81d760b12b65b 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* tempname.c - generate the name of a temporary file.
 
-   Copyright (C) 1991-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -64,6 +62,7 @@
 # define struct_stat64 struct stat64
 #else
 # define struct_stat64 struct stat
+# define __try_tempname try_tempname
 # define __gen_tempname gen_tempname
 # define __getpid getpid
 # define __gettimeofday gettimeofday
@@ -178,21 +177,9 @@ __path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx,
 static const char letters[] =
 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 
-/* Generate a temporary file name based on TMPL.  TMPL must match the
-   rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
-   The name constructed does not exist at the time of the call to
-   __gen_tempname.  TMPL is overwritten with the result.
-
-   KIND may be one of:
-   __GT_NOCREATE:       simply verify that the name does not exist
-                        at the time of the call.
-   __GT_FILE:           create the file using open(O_CREAT|O_EXCL)
-                        and return a read-write fd.  The file is mode 0600.
-   __GT_DIR:            create a directory, which will be mode 0700.
-
-   We use a clever algorithm to get hard-to-predict names. */
 int
-__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+__try_tempname (char *tmpl, int suffixlen, void *args,
+                int (*tryfunc) (char *, void *))
 {
   int len;
   char *XXXXXX;
@@ -201,7 +188,6 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
   unsigned int count;
   int fd = -1;
   int save_errno = errno;
-  struct_stat64 st;
 
   /* A lower bound on the number of temporary files to attempt to
      generate.  The maximum total number of temporary file names that
@@ -258,41 +244,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
       v /= 62;
       XXXXXX[5] = letters[v % 62];
 
-      switch (kind)
-        {
-        case __GT_FILE:
-          fd = __open (tmpl,
-                       (flags & ~O_ACCMODE)
-                       | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
-          break;
-
-        case __GT_DIR:
-          fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
-          break;
-
-        case __GT_NOCREATE:
-          /* This case is backward from the other three.  __gen_tempname
-             succeeds if __xstat fails because the name does not exist.
-             Note the continue to bypass the common logic at the bottom
-             of the loop.  */
-          if (__lxstat64 (_STAT_VER, tmpl, &st) < 0)
-            {
-              if (errno == ENOENT)
-                {
-                  __set_errno (save_errno);
-                  return 0;
-                }
-              else
-                /* Give up now. */
-                return -1;
-            }
-          continue;
-
-        default:
-          assert (! "invalid KIND in __gen_tempname");
-          abort ();
-        }
-
+      fd = tryfunc (tmpl, args);
       if (fd >= 0)
         {
           __set_errno (save_errno);
@@ -306,3 +258,67 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
   __set_errno (EEXIST);
   return -1;
 }
+
+static int
+try_file (char *tmpl, void *flags)
+{
+  int *openflags = flags;
+  return __open (tmpl,
+                 (*openflags & ~O_ACCMODE)
+                 | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
+}
+
+static int
+try_dir (char *tmpl, void *flags _GL_UNUSED)
+{
+  return __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
+}
+
+static int
+try_nocreate (char *tmpl, void *flags _GL_UNUSED)
+{
+  struct_stat64 st;
+
+  if (__lxstat64 (_STAT_VER, tmpl, &st) == 0)
+    __set_errno (EEXIST);
+  return errno == ENOENT ? 0 : -1;
+}
+
+/* Generate a temporary file name based on TMPL.  TMPL must match the
+   rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
+   The name constructed does not exist at the time of the call to
+   __gen_tempname.  TMPL is overwritten with the result.
+
+   KIND may be one of:
+   __GT_NOCREATE:       simply verify that the name does not exist
+                        at the time of the call.
+   __GT_FILE:           create the file using open(O_CREAT|O_EXCL)
+                        and return a read-write fd.  The file is mode 0600.
+   __GT_DIR:            create a directory, which will be mode 0700.
+
+   We use a clever algorithm to get hard-to-predict names. */
+int
+__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+{
+  int (*tryfunc) (char *, void *);
+
+  switch (kind)
+    {
+    case __GT_FILE:
+      tryfunc = try_file;
+      break;
+
+    case __GT_DIR:
+      tryfunc = try_dir;
+      break;
+
+    case __GT_NOCREATE:
+      tryfunc = try_nocreate;
+      break;
+
+    default:
+      assert (! "invalid KIND in __gen_tempname");
+      abort ();
+    }
+  return __try_tempname (tmpl, suffixlen, &flags, tryfunc);
+}
index f133161ef0b3cd1fb4f4873643abcf79e20ed880..e6093607463c113edbafa52d19b86ce47d825f28 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Create a temporary file or directory.
 
-   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #  define GT_NOCREATE 2
 # endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Generate a temporary file name based on TMPL.  TMPL must match the
    rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
    The name constructed does not exist at the time of the call to
    We use a clever algorithm to get hard-to-predict names. */
 extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind);
 
+/* Similar to gen_tempname, but TRYFUNC is called for each temporary
+   name to try.  If TRYFUNC returns a non-negative number, TRY_GEN_TEMPNAME
+   returns with this value.  Otherwise, if errno is set to EEXIST, another
+   name is tried, or else TRY_GEN_TEMPNAME returns -1. */
+extern int try_tempname (char *tmpl, int suffixlen, void *args,
+                         int (*tryfunc) (char *, void *));
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GL_TEMPNAME_H */
diff --git a/gnu/time-internal.h b/gnu/time-internal.h
new file mode 100644 (file)
index 0000000..6bf3f8d
--- /dev/null
@@ -0,0 +1,49 @@
+/* Time internal interface
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+/* A time zone rule.  */
+struct tm_zone
+{
+  /* More abbreviations, should they be needed.  Their TZ_IS_SET
+     members are zero.  */
+  struct tm_zone *next;
+
+#if HAVE_TZNAME && !HAVE_TM_ZONE
+  /* Copies of recent strings taken from tzname[0] and tzname[1].
+     The copies are in ABBRS, so that they survive tzset.  Null if unknown.  */
+  char *tzname_copy[2];
+#endif
+
+  /* If nonzero, the rule represents the TZ environment variable set
+     to the first "abbreviation" (this may be the empty string).
+     Otherwise, it represents an unset TZ.  */
+  char tz_is_set;
+
+  /* A sequence of null-terminated strings packed next to each other.
+     The strings are followed by an extra null byte.  If TZ_IS_SET,
+     there must be at least one string and the first string (which is
+     actually a TZ environment value value) may be empty.  Otherwise
+     all strings must be nonempty.
+
+     Abbreviations are stored here because otherwise the values of
+     tm_zone and/or tzname would be dead after changing TZ and calling
+     tzset.  Abbreviations never move once allocated, and are live
+     until tzfree is called.  */
+  char abbrs[FLEXIBLE_ARRAY_MEMBER];
+};
index 61429647ca970beb2ca43df1cff64b5357bb13d3..a90552ce4474741bdb328390fdfb84dadb134ccd 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* Don't get in the way of glibc when it includes time.h merely to
    declare a few standard symbols, rather than to declare all the
-   symbols.  Also, Solaris 8 <time.h> eventually includes itself
+   symbols.  (However, skip this for MinGW as it treats __need_time_t
+   incompatibly.)  Also, Solaris 8 <time.h> eventually includes itself
    recursively; if that is happening, just include the system <time.h>
    without adding our own declarations.  */
-#if (defined __need_time_t || defined __need_clock_t \
-     || defined __need_timespec \
+#if (((defined __need_time_t || defined __need_clock_t \
+       || defined __need_timespec)                     \
+      && !defined __MINGW32__)                         \
      || defined _@GUARD_PREFIX@_TIME_H)
 
 # @INCLUDE_NEXT@ @NEXT_TIME_H@
@@ -57,6 +57,8 @@
 #   include <sys/time.h>
 #  elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 #   include <pthread.h>
+#  elif @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
+#   include <unistd.h>
 #  else
 
 #   ifdef __cplusplus
@@ -231,6 +233,25 @@ _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
 _GL_CXXALIASWARN (strptime);
 # endif
 
+# if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@
+typedef struct tm_zone *timezone_t;
+_GL_FUNCDECL_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_CXXALIAS_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz));
+_GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz));
+_GL_FUNCDECL_SYS (localtime_rz, struct tm *,
+                  (timezone_t __tz, time_t const *restrict __timer,
+                   struct tm *restrict __result) _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_SYS (localtime_rz, struct tm *,
+                  (timezone_t __tz, time_t const *restrict __timer,
+                   struct tm *restrict __result));
+_GL_FUNCDECL_SYS (mktime_z, time_t,
+                  (timezone_t __tz, struct tm *restrict __result)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_SYS (mktime_z, time_t,
+                  (timezone_t __tz, struct tm *restrict __result));
+# endif
+
 /* Convert TM to a time_t value, assuming UTC.  */
 # if @GNULIB_TIMEGM@
 #  if @REPLACE_TIMEGM@
index 773a47eda0325969331e82b6601a0e2e3526297f..0b512de99fe24be0163072d05acebb202656177a 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Reentrant time functions like localtime_r.
 
-   Copyright (C) 2003, 2006-2007, 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2010-2015 Free Software Foundation, Inc.
 
    This 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_rz.c b/gnu/time_rz.c
new file mode 100644 (file)
index 0000000..f94893a
--- /dev/null
@@ -0,0 +1,326 @@
+/* Time zone functions such as tzalloc and localtime_rz
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+/* Although this module is not thread-safe, any races should be fairly
+   rare and reasonably benign.  For complete thread-safety, use a C
+   library with a working timezone_t type, so that this module is not
+   needed.  */
+
+#include <config.h>
+
+#include <time.h>
+
+#include <errno.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "time-internal.h"
+
+#if !HAVE_TZSET
+static void tzset (void) { }
+#endif
+
+/* The approximate size to use for small allocation requests.  This is
+   the largest "small" request for the GNU C library malloc.  */
+enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 };
+
+/* Minimum size of the ABBRS member of struct abbr.  ABBRS is larger
+   only in the unlikely case where an abbreviation longer than this is
+   used.  */
+enum { ABBR_SIZE_MIN = DEFAULT_MXFAST - offsetof (struct tm_zone, abbrs) };
+
+static char const TZ[] = "TZ";
+
+/* Magic cookie timezone_t value, for local time.  It differs from
+   NULL and from all other timezone_t values.  Only the address
+   matters; the pointer is never dereferenced.  */
+static timezone_t const local_tz = (timezone_t) 1;
+
+#if HAVE_TM_ZONE || HAVE_TZNAME
+
+/* Return true if the values A and B differ according to the rules for
+   tm_isdst: A and B differ if one is zero and the other positive.  */
+static bool
+isdst_differ (int a, int b)
+{
+  return !a != !b && 0 <= a && 0 <= b;
+}
+
+/* Return true if A and B are equal.  */
+static int
+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)
+            | isdst_differ (a->tm_isdst, b->tm_isdst));
+}
+
+#endif
+
+/* Copy to ABBRS the abbreviation at ABBR with size ABBR_SIZE (this
+   includes its trailing null byte).  Append an extra null byte to
+   mark the end of ABBRS.  */
+static void
+extend_abbrs (char *abbrs, char const *abbr, size_t abbr_size)
+{
+  memcpy (abbrs, abbr, abbr_size);
+  abbrs[abbr_size] = '\0';
+}
+
+/* Return a newly allocated time zone for NAME, or NULL on failure.
+   As a special case, return a nonzero constant for wall clock time, a
+   constant that survives freeing.  */
+timezone_t
+tzalloc (char const *name)
+{
+  size_t name_size = name ? strlen (name) + 1 : 0;
+  size_t abbr_size = name_size < ABBR_SIZE_MIN ? ABBR_SIZE_MIN : name_size + 1;
+  timezone_t tz = malloc (offsetof (struct tm_zone, abbrs) + abbr_size);
+  if (tz)
+    {
+      tz->next = NULL;
+#if HAVE_TZNAME && !HAVE_TM_ZONE
+      tz->tzname_copy[0] = tz->tzname_copy[1] = NULL;
+#endif
+      tz->tz_is_set = !!name;
+      tz->abbrs[0] = '\0';
+      if (name)
+        extend_abbrs (tz->abbrs, name, name_size);
+    }
+  return tz;
+}
+
+/* Save into TZ any nontrivial time zone abbreviation used by TM, and
+   update *TM (if HAVE_TM_ZONE) or *TZ (if !HAVE_TM_ZONE &&
+   HAVE_TZNAME) if they use the abbreviation.  Return true if
+   successful, false (setting errno) otherwise.  */
+static bool
+save_abbr (timezone_t tz, struct tm *tm)
+{
+#if HAVE_TM_ZONE || HAVE_TZNAME
+  char const *zone = NULL;
+  char *zone_copy = (char *) "";
+
+# if HAVE_TZNAME
+  int tzname_index = -1;
+# endif
+
+# if HAVE_TM_ZONE
+  zone = tm->tm_zone;
+# endif
+
+# if HAVE_TZNAME
+  if (! (zone && *zone) && 0 <= tm->tm_isdst)
+    {
+      tzname_index = tm->tm_isdst != 0;
+      zone = tzname[tzname_index];
+    }
+# endif
+
+  /* No need to replace null zones, or zones within the struct tm.  */
+  if (!zone || ((char *) tm <= zone && zone < (char *) (tm + 1)))
+    return true;
+
+  if (*zone)
+    {
+      zone_copy = tz->abbrs;
+
+      while (strcmp (zone_copy, zone) != 0)
+        {
+          if (! (*zone_copy || (zone_copy == tz->abbrs && tz->tz_is_set)))
+            {
+              size_t zone_size = strlen (zone) + 1;
+              if (zone_size < tz->abbrs + ABBR_SIZE_MIN - zone_copy)
+                extend_abbrs (zone_copy, zone, zone_size);
+              else
+                {
+                  tz = tz->next = tzalloc (zone);
+                  if (!tz)
+                    return false;
+                  tz->tz_is_set = 0;
+                  zone_copy = tz->abbrs;
+                }
+              break;
+            }
+
+          zone_copy += strlen (zone_copy) + 1;
+          if (!*zone_copy && tz->next)
+            {
+              tz = tz->next;
+              zone_copy = tz->abbrs;
+            }
+        }
+    }
+
+  /* Replace the zone name so that its lifetime matches that of TZ.  */
+# if HAVE_TM_ZONE
+  tm->tm_zone = zone_copy;
+# else
+  if (0 <= tzname_index)
+    tz->tzname_copy[tzname_index] = zone_copy;
+# endif
+#endif
+
+  return true;
+}
+
+/* Free a time zone.  */
+void
+tzfree (timezone_t tz)
+{
+  if (tz != local_tz)
+    while (tz)
+      {
+        timezone_t next = tz->next;
+        free (tz);
+        tz = next;
+      }
+}
+
+/* Get and set the TZ environment variable.  These functions can be
+   overridden by programs like Emacs that manage their own environment.  */
+
+#ifndef getenv_TZ
+static char *
+getenv_TZ (void)
+{
+  return getenv (TZ);
+}
+#endif
+
+#ifndef setenv_TZ
+static int
+setenv_TZ (char const *tz)
+{
+  return tz ? setenv (TZ, tz, 1) : unsetenv (TZ);
+}
+#endif
+
+/* Change the environment to match the specified timezone_t value.
+   Return true if successful, false (setting errno) otherwise.  */
+static bool
+change_env (timezone_t tz)
+{
+  if (setenv_TZ (tz->tz_is_set ? tz->abbrs : NULL) != 0)
+    return false;
+  tzset ();
+  return true;
+}
+
+/* Temporarily set the time zone to TZ, which must not be null.
+   Return LOCAL_TZ if the time zone setting is already correct.
+   Otherwise return a newly allocated time zone representing the old
+   setting, or NULL (setting errno) on failure.  */
+static timezone_t
+set_tz (timezone_t tz)
+{
+  char *env_tz = getenv_TZ ();
+  if (env_tz
+      ? tz->tz_is_set && strcmp (tz->abbrs, env_tz) == 0
+      : !tz->tz_is_set)
+    return local_tz;
+  else
+    {
+      timezone_t old_tz = tzalloc (env_tz);
+      if (!old_tz)
+        return old_tz;
+      if (! change_env (tz))
+        {
+          int saved_errno = errno;
+          tzfree (old_tz);
+          errno = saved_errno;
+          return NULL;
+        }
+      return old_tz;
+    }
+}
+
+/* Restore an old setting returned by set_tz.  It must not be null.
+   Return true (preserving errno) if successful, false (setting errno)
+   otherwise.  */
+static bool
+revert_tz (timezone_t tz)
+{
+  if (tz == local_tz)
+    return true;
+  else
+    {
+      int saved_errno = errno;
+      bool ok = change_env (tz);
+      if (!ok)
+        saved_errno = errno;
+      tzfree (tz);
+      errno = saved_errno;
+      return ok;
+    }
+}
+
+/* Use time zone TZ to compute localtime_r (T, TM).  */
+struct tm *
+localtime_rz (timezone_t tz, time_t const *t, struct tm *tm)
+{
+  if (!tz)
+    return gmtime_r (t, tm);
+  else
+    {
+      timezone_t old_tz = set_tz (tz);
+      if (old_tz)
+        {
+          tm = localtime_r (t, tm);
+          if (tm && !save_abbr (tz, tm))
+            tm = NULL;
+          if (revert_tz (old_tz))
+            return tm;
+        }
+      return NULL;
+    }
+}
+
+/* Use time zone TZ to compute mktime (TM).  */
+time_t
+mktime_z (timezone_t tz, struct tm *tm)
+{
+  if (!tz)
+    return timegm (tm);
+  else
+    {
+      timezone_t old_tz = set_tz (tz);
+      if (old_tz)
+        {
+          time_t t = mktime (tm);
+#if HAVE_TM_ZONE || HAVE_TZNAME
+          time_t badtime = -1;
+          struct tm tm_1;
+          if ((t != badtime
+               || (localtime_r (&t, &tm_1) && equal_tm (tm, &tm_1)))
+              && !save_abbr (tz, tm))
+            t = badtime;
+#endif
+          if (revert_tz (old_tz))
+            return t;
+        }
+      return -1;
+    }
+}
diff --git a/gnu/timegm.c b/gnu/timegm.c
new file mode 100644 (file)
index 0000000..11c485f
--- /dev/null
@@ -0,0 +1,38 @@
+/* Convert UTC calendar time to simple time.  Like mktime but assumes UTC.
+
+   Copyright (C) 1994, 1997, 2003-2004, 2006-2007, 2009-2015 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.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBC
+# include <config.h>
+#endif
+
+#include <time.h>
+
+#ifndef _LIBC
+# undef __gmtime_r
+# define __gmtime_r gmtime_r
+# define __mktime_internal mktime_internal
+# include "mktime-internal.h"
+#endif
+
+time_t
+timegm (struct tm *tmp)
+{
+  static time_t gmtime_offset;
+  tmp->tm_isdst = 0;
+  return __mktime_internal (tmp, __gmtime_r, &gmtime_offset);
+}
diff --git a/gnu/timespec-sub.c b/gnu/timespec-sub.c
new file mode 100644 (file)
index 0000000..c574375
--- /dev/null
@@ -0,0 +1,68 @@
+/* Subtract two struct timespec values.
+
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+/* Return the difference between two timespec values A and B.  On
+   overflow, return an extremal value.  This assumes 0 <= tv_nsec <
+   TIMESPEC_RESOLUTION.  */
+
+#include <config.h>
+#include "timespec.h"
+
+#include "intprops.h"
+
+struct timespec
+timespec_sub (struct timespec a, struct timespec b)
+{
+  time_t rs = a.tv_sec;
+  time_t bs = b.tv_sec;
+  int ns = a.tv_nsec - b.tv_nsec;
+  int rns = ns;
+
+  if (ns < 0)
+    {
+      rns = ns + TIMESPEC_RESOLUTION;
+      if (rs == TYPE_MINIMUM (time_t))
+        {
+          if (bs <= 0)
+            goto low_overflow;
+          bs--;
+        }
+      else
+        rs--;
+    }
+
+  if (INT_SUBTRACT_OVERFLOW (rs, bs))
+    {
+      if (rs < 0)
+        {
+        low_overflow:
+          rs = TYPE_MINIMUM (time_t);
+          rns = 0;
+        }
+      else
+        {
+          rs = TYPE_MAXIMUM (time_t);
+          rns = TIMESPEC_RESOLUTION - 1;
+        }
+    }
+  else
+    rs -= bs;
+
+  return make_timespec (rs, rns);
+}
index 30572878550c1e2b7756c7005dedb170edcd9a0a..2b6098ed7bd9f2380eaa71070d6d9cf896ddce64 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define _GL_TIMESPEC_INLINE _GL_EXTERN_INLINE
 #include "timespec.h"
index 1621d84db65b08c073cfbbb0929a4c31f5bd3d0e..9ec495a08d1ba39ed8b2761931ed93c18de26ed9 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* timespec -- System time interface
 
-   Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2014 Free Software
+   Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -76,7 +74,7 @@ make_timespec (time_t s, long int ns)
 
    The (int) cast avoids a gcc -Wconversion warning.  */
 
-_GL_TIMESPEC_INLINE int
+_GL_TIMESPEC_INLINE int _GL_ATTRIBUTE_PURE
 timespec_cmp (struct timespec a, struct timespec b)
 {
   return (a.tv_sec < b.tv_sec ? -1
@@ -86,7 +84,7 @@ timespec_cmp (struct timespec a, struct timespec b)
 
 /* Return -1, 0, 1, depending on the sign of A.  A.tv_nsec must be
    nonnegative.  */
-_GL_TIMESPEC_INLINE int
+_GL_TIMESPEC_INLINE int _GL_ATTRIBUTE_PURE
 timespec_sign (struct timespec a)
 {
   return a.tv_sec < 0 ? -1 : a.tv_sec || a.tv_nsec;
index 70458ecc75dcddaaf30ada7c9caae14ece2008eb..48fd98f21c5ba521613a84129e9f2c960c2e32eb 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define anytostr uinttostr
 #define inttype unsigned int
 #include "anytostr.c"
index 6dad216665b2c435dbeb529d3efa99d2867b6e68..f95bfc3ee0b7c54c0d80ad9ea521a1999c9c0967 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define anytostr umaxtostr
 #define inttype uintmax_t
 #include "anytostr.c"
index 2a5c7e6cf102476d015a7fbdc6b6b2253b2d9deb..ada1f6b7bf17dcb853683e5f24011c1cec9e4929 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Like unistd.h, but redefine some names to avoid glitches.
 
-   Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index def53d7a447af0a0046b34dc9f00f1ff58355b3f..d4251b3ee1ff85123df4f1a2a04f7d05a664168b 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Invoke unistd-like functions, but avoid some glitches.
 
-   Copyright (C) 2001, 2003, 2005, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2005, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 329ff9b051b41818362321fc7145170e8162a846..6c6a8e268c0fc44a6ebba64bdd17fa4d8816bcc9 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
 #include "unistd.h"
index c43d48c9edd014a76d90f6320b320eb8604b2555..958fea2a576ce58cff32c3af6bfa82db99d718f6 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -403,6 +401,12 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
 /* Set of environment variables and values.  An array of strings of the form
    "VARIABLE=VALUE", terminated with a NULL.  */
 #  if defined __APPLE__ && defined __MACH__
+#   include <TargetConditionals.h>
+#   if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
+#    define _GL_USE_CRT_EXTERNS
+#   endif
+#  endif
+#  ifdef _GL_USE_CRT_EXTERNS
 #   include <crt_externs.h>
 #   define environ (*_NSGetEnviron ())
 #  else
@@ -1289,13 +1293,24 @@ _GL_WARN_ON_USE (readlink, "readlink is unportable - "
 
 
 #if @GNULIB_READLINKAT@
-# if !@HAVE_READLINKAT@
+# if @REPLACE_READLINKAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define readlinkat rpl_readlinkat
+#  endif
+_GL_FUNCDECL_RPL (readlinkat, ssize_t,
+                  (int fd, char const *file, char *buf, size_t len)
+                  _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (readlinkat, ssize_t,
+                  (int fd, char const *file, char *buf, size_t len));
+# else
+#  if !@HAVE_READLINKAT@
 _GL_FUNCDECL_SYS (readlinkat, ssize_t,
                   (int fd, char const *file, char *buf, size_t len)
                   _GL_ARG_NONNULL ((2, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (readlinkat, ssize_t,
                   (int fd, char const *file, char *buf, size_t len));
+# endif
 _GL_CXXALIASWARN (readlinkat);
 #elif defined GNULIB_POSIXCHECK
 # undef readlinkat
@@ -1409,13 +1424,25 @@ _GL_WARN_ON_USE (symlink, "symlink is not portable - "
 
 
 #if @GNULIB_SYMLINKAT@
-# if !@HAVE_SYMLINKAT@
+# if @REPLACE_SYMLINKAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef symlinkat
+#   define symlinkat rpl_symlinkat
+#  endif
+_GL_FUNCDECL_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file)
+                  _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file));
+# else
+#  if !@HAVE_SYMLINKAT@
 _GL_FUNCDECL_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file)
                   _GL_ARG_NONNULL ((1, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file));
+# endif
 _GL_CXXALIASWARN (symlinkat);
 #elif defined GNULIB_POSIXCHECK
 # undef symlinkat
index 1a69a97194bb2d543cb1a0558a0fe1b97529e5bf..d3c47ae6a8c334821e0dff53e5ff96263246aebd 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Elementary types and macros for the GNU UniString library.
-   Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index 6da964b92d7e2c6c6aec144cf5fea9ff5d047877..7694bebfebf39a2078a69d1dd5adb9e41b760695 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Display width functions.
-   Copyright (C) 2001-2002, 2005, 2007, 2009-2014 Free Software Foundation,
+   Copyright (C) 2001-2002, 2005, 2007, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify it
index ac1ec26490e799ab2334e9e4b0d529bbc141b9f7..cdd9a5550b29a131653018af8896d6d485462cec 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test for CJK encoding.
-   Copyright (C) 2001-2002, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2007, 2009-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
index 967c081de1a2bad522c43dd3561fc859fa521fc2..c7e03b2a5f4960b5841be2621266980cd013877b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine display width of Unicode character.
-   Copyright (C) 2001-2002, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2006-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
@@ -34,7 +32,7 @@
  * - Zero width characters; generated from
  *   "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt"
  */
-static const unsigned char nonspacing_table_data[27*64] = {
+static const unsigned char nonspacing_table_data[36*64] = {
   /* 0x0000-0x01ff */
   0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */
@@ -63,7 +61,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */
   0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */
   /* 0x0600-0x07ff */
-  0x0f, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
+  0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
   0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */
   0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */
@@ -75,7 +73,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */
   0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08c0-0x08ff */
+  0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
   0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */
   0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */
   0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */
@@ -90,11 +88,11 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */
   0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */
   /* 0x0c00-0x0dff */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */
   0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */
+  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */
   0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */
+  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */
   0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */
   0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */
@@ -135,7 +133,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */
   0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */
   /* 0x1800-0x19ff */
-  0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */
+  0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */
@@ -144,26 +142,26 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */
   /* 0x1a00-0x1bff */
-  0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */
+  0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */
   0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a80-0x1abf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, /* 0x1a80-0x1abf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */
   0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */
   0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */
-  0x03, 0x00, 0x00, 0x00, 0x3c, 0x03, 0x00, 0x00, /* 0x1b80-0x1bbf */
+  0x03, 0x00, 0x00, 0x00, 0x3c, 0x3b, 0x00, 0x00, /* 0x1b80-0x1bbf */
   0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */
   /* 0x1c00-0x1dff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */
-  0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x00, 0x00, /* 0x1cc0-0x1cff */
+  0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x10, 0x03, /* 0x1cc0-0x1cff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */
-  0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xf0, /* 0x1dc0-0x1dff */
+  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf0, /* 0x1dc0-0x1dff */
   /* 0x2000-0x21ff */
   0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */
-  0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, /* 0x2040-0x207f */
+  0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */
   0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */
@@ -180,7 +178,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */
   0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */
   /* 0x3000-0x31ff */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, /* 0x3000-0x303f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x3000-0x303f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */
   0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */
@@ -190,8 +188,8 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */
   /* 0xa600-0xa7ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x30, /* 0xa640-0xa67f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x3f, /* 0xa640-0xa67f */
+  0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */
@@ -205,12 +203,12 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */
   0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */
   0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */
+  0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */
   /* 0xaa00-0xabff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */
-  0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaa40-0xaa7f */
+  0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0xaa40-0xaa7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */
-  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaac0-0xaaff */
+  0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x00, /* 0xaac0-0xaaff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */
@@ -225,7 +223,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */
   /* 0xfe00-0xffff */
-  0xff, 0xff, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, /* 0xfe00-0xfe3f */
+  0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, /* 0xfe00-0xfe3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */
@@ -242,24 +240,87 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */
+  /* 0x10200-0x103ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10200-0x1023f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10240-0x1027f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10280-0x102bf */
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x102c0-0x102ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10300-0x1033f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, /* 0x10340-0x1037f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10380-0x103bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x103c0-0x103ff */
   /* 0x10a00-0x10bff */
   0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */
+  0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */
   /* 0x11000-0x111ff */
   0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */
-  0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11040-0x1107f */
+  0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x11040-0x1107f */
   0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11100-0x1113f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11140-0x1117f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11180-0x111bf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */
+  0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */
+  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */
+  0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */
+  /* 0x11200-0x113ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x00, /* 0x11200-0x1123f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */
+  0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */
+  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x11300-0x1133f */
+  0x01, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x1f, 0x00, /* 0x11340-0x1137f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */
+  /* 0x11400-0x115ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11400-0x1143f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */
+  0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11540-0x1157f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xb0, /* 0x11580-0x115bf */
+  0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0x115c0-0x115ff */
+  /* 0x11600-0x117ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xa7, /* 0x11600-0x1163f */
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11640-0x1167f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xbf, 0x00, /* 0x11680-0x116bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x116c0-0x116ff */
+  0x00, 0x00, 0x00, 0xe0, 0xbc, 0x0f, 0x00, 0x00, /* 0x11700-0x1173f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */
+  /* 0x16a00-0x16bff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a80-0x16abf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, /* 0x16ac0-0x16aff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x16b00-0x16b3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b40-0x16b7f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b80-0x16bbf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16bc0-0x16bff */
+  /* 0x16e00-0x16fff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e00-0x16e3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e40-0x16e7f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e80-0x16ebf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16ec0-0x16eff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f00-0x16f3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f40-0x16f7f */
+  0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f80-0x16fbf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16fc0-0x16fff */
+  /* 0x1bc00-0x1bdff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc00-0x1bc3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc40-0x1bc7f */
+  0x00, 0x00, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00, /* 0x1bc80-0x1bcbf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bcc0-0x1bcff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd00-0x1bd3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd40-0x1bd7f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd80-0x1bdbf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bdc0-0x1bdff */
   /* 0x1d000-0x1d1ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */
@@ -277,9 +338,27 @@ static const unsigned char nonspacing_table_data[27*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00  /* 0x1d3c0-0x1d3ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d3c0-0x1d3ff */
+  /* 0x1da00-0x1dbff */
+  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, /* 0x1da00-0x1da3f */
+  0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x20, 0x00, /* 0x1da40-0x1da7f */
+  0x10, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x00, 0x00, /* 0x1da80-0x1dabf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dac0-0x1daff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db00-0x1db3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */
+  /* 0x1e800-0x1e9ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */
+  0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00  /* 0x1e9c0-0x1e9ff */
 };
-static const signed char nonspacing_table_ind[240] = {
+static const signed char nonspacing_table_ind[248] = {
    0,  1,  2,  3,  4,  5,  6,  7, /* 0x0000-0x0fff */
    8,  9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */
   14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */
@@ -296,20 +375,21 @@ static const signed char nonspacing_table_ind[240] = {
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */
   -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */
-  22, -1, -1, -1, -1, 23, -1, -1, /* 0x10000-0x10fff */
-  24, -1, -1, -1, -1, -1, -1, -1, /* 0x11000-0x11fff */
+  22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */
+  25, 26, 27, 28, -1, -1, -1, -1, /* 0x11000-0x11fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */
-  -1, -1, -1, -1, -1, -1, -1, -1, /* 0x16000-0x16fff */
+  -1, -1, -1, -1, -1, 29, -1, 30, /* 0x16000-0x16fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */
-  -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1b000-0x1bfff */
+  -1, -1, -1, -1, -1, -1, 31, -1, /* 0x1b000-0x1bfff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */
-  25, 26, -1, -1, -1, -1, -1, -1  /* 0x1d000-0x1dfff */
+  32, 33, -1, -1, -1, 34, -1, -1, /* 0x1d000-0x1dfff */
+  -1, -1, -1, -1, 35, -1, -1, -1  /* 0x1e000-0x1efff */
 };
 
 /* Determine number of column positions required for UC.  */
@@ -317,7 +397,7 @@ int
 uc_width (ucs4_t uc, const char *encoding)
 {
   /* Test for non-spacing or control character.  */
-  if ((uc >> 9) < 240)
+  if ((uc >> 9) < 248)
     {
       int ind = nonspacing_table_ind[uc >> 9];
       if (ind >= 0)
index abbc9862b89d83e60a25925062215e07ebaafe6d..e006273af76d49d74714b231e3ae3a6af6d32478 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Work around unlink bugs.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 242ad493650f75a3f2d0156db2595760ba7026db..af35256fd086552b9f9f5ac142128c5206e1b82a 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Work around unlinkat bugs on Solaris 9 and Hurd.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 # undef unlinkat
 
-/* unlinkat without AT_REMOVEDIR does not honor trailing / on Solaris
-   9.  Solve it in a similar manner to unlink.  Hurd has the same
-   issue. */
+/* unlinkat without AT_REMOVEDIR does not honor trailing / on Solaris 9.
+   Hurd has the same issue.
+
+   unlinkat without AT_REMOVEDIR erroneously ignores ".." on Darwin 14.
+
+   Solve these in a similar manner to unlink.  */
 
 int
 rpl_unlinkat (int fd, char const *name, int flag)
@@ -80,7 +81,17 @@ rpl_unlinkat (int fd, char const *name, int flag)
         }
     }
   if (!result)
-    result = unlinkat (fd, name, flag);
+    {
+# if UNLINK_PARENT_BUG
+      if (len >= 2 && name[len - 1] == '.' && name[len - 2] == '.'
+          && (len == 2 || ISSLASH (name[len - 3])))
+        {
+          errno = EISDIR; /* could also use EPERM */
+          return -1;
+        }
+# endif
+      result = unlinkat (fd, name, flag);
+    }
   return result;
 }
 
index fa0e1a4a85e1de94d90d07a0a09f02f9bcaa7f19..976b91230832dd772dccbc55b7c5acbd592cfe84 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* unlinkdir.c - determine whether we can unlink directories
 
-   Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a1bb30d55d6af4c526505ff679e6b75e92b7f79d..9a9f5fb3802f9214edf7c467f6943dbb041df752 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* unlinkdir.h - determine (and maybe change) whether we can unlink directories
 
-   Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 94d89f4b58a5d42962eeb320f8c115e4af74a765..06ffac6169cace48673528fc4eea0066667936fb 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Prefer faster, non-thread-safe stdio functions if available.
 
-   Copyright (C) 2001-2004, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index d68c1592d5c76133764943d9de341398af8074f3..87f41d59a5071d821d5fb102ef38621ec03a810f 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1992, 1995-2002, 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2015 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
index 116070cd260464a53a8a170d7887c1525caed88a..7386dcf210de32fa122d082cf55264409a1da0d3 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Set file access and modification times.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This 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
@@ -26,7 +24,6 @@
 #define _GL_UTIMENS_INLINE _GL_EXTERN_INLINE
 #include "utimens.h"
 
-#include <assert.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <stdbool.h>
@@ -89,7 +86,6 @@ validate_timespec (struct timespec timespec[2])
 {
   int result = 0;
   int utime_omit_count = 0;
-  assert (timespec);
   if ((timespec[0].tv_nsec != UTIME_NOW
        && timespec[0].tv_nsec != UTIME_OMIT
        && ! (0 <= timespec[0].tv_nsec
index d9965a86a1a3758ed57ed672da110c648f1040fe..cbd06cc7f09df624612c11626f80ec4675b6e414 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Set file access and modification times.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This 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
index 9a881983538ee671c7df39f6166bfb712f62067e..59839d407f47ad3ff50b4471613207669478aaa8 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index c959c54ef6c8fe7a45de5f1a05bc4c76c172a1c4..88332f0bcae4555d54a93101348311d0af52a7a4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 1999, 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -1888,7 +1886,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
             else
               {
                 do
-                  result[length++] = (unsigned char) *cp++;
+                  result[length++] = *cp++;
                 while (--n > 0);
               }
           }
@@ -1959,15 +1957,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -2075,8 +2072,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           characters = 0;
                         }
 
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
+                      if (characters < width && !(dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2129,8 +2125,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       }
 # endif
 
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
+                      if (characters < width && (dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2203,8 +2198,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           characters = 0;
                         }
 
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
+                      if (characters < width && !(dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2257,8 +2251,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       }
 # endif
 
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
+                      if (characters < width && (dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2331,8 +2324,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           characters = 0;
                         }
 
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
+                      if (characters < width && !(dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2385,8 +2377,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       }
 # endif
 
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
+                      if (characters < width && (dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2437,15 +2428,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -2575,8 +2565,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       characters = 0;
                     }
 
-                  if (has_width && width > characters
-                      && !(dp->flags & FLAG_LEFT))
+                  if (characters < width && !(dp->flags & FLAG_LEFT))
                     {
                       size_t n = width - characters;
                       ENSURE_ALLOCATION (xsum (length, n));
@@ -2637,8 +2626,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         }
                     }
 
-                  if (has_width && width > characters
-                      && (dp->flags & FLAG_LEFT))
+                  if (characters < width && (dp->flags & FLAG_LEFT))
                     {
                       size_t n = width - characters;
                       ENSURE_ALLOCATION (xsum (length, n));
@@ -2829,8 +2817,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                     /* w doesn't matter.  */
                     w = 0;
 
-                  if (has_width && width > w
-                      && !(dp->flags & FLAG_LEFT))
+                  if (w < width && !(dp->flags & FLAG_LEFT))
                     {
                       size_t n = width - w;
                       ENSURE_ALLOCATION (xsum (length, n));
@@ -2913,8 +2900,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                   length += tmpdst_len;
 #  endif
 
-                  if (has_width && width > w
-                      && (dp->flags & FLAG_LEFT))
+                  if (w < width && (dp->flags & FLAG_LEFT))
                     {
                       size_t n = width - w;
                       ENSURE_ALLOCATION (xsum (length, n));
@@ -2941,17 +2927,16 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
               {
                 arg_type type = a.arg[dp->arg_index].type;
                 int flags = dp->flags;
-                int has_width;
                 size_t width;
                 int has_precision;
                 size_t precision;
                 size_t tmp_length;
+                size_t count;
                 DCHAR_T tmpbuf[700];
                 DCHAR_T *tmp;
                 DCHAR_T *pad_ptr;
                 DCHAR_T *p;
 
-                has_width = 0;
                 width = 0;
                 if (dp->width_start != dp->width_end)
                   {
@@ -2962,15 +2947,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -2980,7 +2964,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           width = xsum (xtimes (width, 10), *digitp++ - '0');
                         while (digitp != dp->width_end);
                       }
-                    has_width = 1;
                   }
 
                 has_precision = 0;
@@ -3356,11 +3339,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                     abort ();
 # endif
                   }
+
                 /* The generated string now extends from tmp to p, with the
                    zero padding insertion point being at pad_ptr.  */
-                if (has_width && p - tmp < width)
+                count = p - tmp;
+
+                if (count < width)
                   {
-                    size_t pad = width - (p - tmp);
+                    size_t pad = width - count;
                     DCHAR_T *end = p + pad;
 
                     if (flags & FLAG_LEFT)
@@ -3393,28 +3379,26 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                     p = end;
                   }
 
-                {
-                  size_t count = p - tmp;
+                count = p - tmp;
 
-                  if (count >= tmp_length)
-                    /* tmp_length was incorrectly calculated - fix the
-                       code above!  */
-                    abort ();
+                if (count >= tmp_length)
+                  /* tmp_length was incorrectly calculated - fix the
+                     code above!  */
+                  abort ();
 
-                  /* Make room for the result.  */
-                  if (count >= allocated - length)
-                    {
-                      size_t n = xsum (length, count);
+                /* Make room for the result.  */
+                if (count >= allocated - length)
+                  {
+                    size_t n = xsum (length, count);
 
-                      ENSURE_ALLOCATION (n);
-                    }
+                    ENSURE_ALLOCATION (n);
+                  }
 
-                  /* Append the result.  */
-                  memcpy (result + length, tmp, count * sizeof (DCHAR_T));
-                  if (tmp != tmpbuf)
-                    free (tmp);
-                  length += count;
-                }
+                /* Append the result.  */
+                memcpy (result + length, tmp, count * sizeof (DCHAR_T));
+                if (tmp != tmpbuf)
+                  free (tmp);
+                length += count;
               }
 #endif
 #if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
@@ -3448,8 +3432,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                 arg_type type = a.arg[dp->arg_index].type;
 # endif
                 int flags = dp->flags;
-                int has_width;
                 size_t width;
+                size_t count;
                 int has_precision;
                 size_t precision;
                 size_t tmp_length;
@@ -3458,7 +3442,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                 DCHAR_T *pad_ptr;
                 DCHAR_T *p;
 
-                has_width = 0;
                 width = 0;
                 if (dp->width_start != dp->width_end)
                   {
@@ -3469,15 +3452,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -3487,7 +3469,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           width = xsum (xtimes (width, 10), *digitp++ - '0');
                         while (digitp != dp->width_end);
                       }
-                    has_width = 1;
                   }
 
                 has_precision = 0;
@@ -3927,9 +3908,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                            digits without trailing zeroes.  */
                                         if (exponent >= 0)
                                           {
-                                            size_t count = exponent + 1;
+                                            size_t ecount = exponent + 1;
                                             /* Note: count <= precision = ndigits.  */
-                                            for (; count > 0; count--)
+                                            for (; ecount > 0; ecount--)
                                               *p++ = digits[--ndigits];
                                             if ((flags & FLAG_ALT) || ndigits > nzeroes)
                                               {
@@ -3943,10 +3924,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                           }
                                         else
                                           {
-                                            size_t count = -exponent - 1;
+                                            size_t ecount = -exponent - 1;
                                             *p++ = '0';
                                             *p++ = decimal_point_char ();
-                                            for (; count > 0; count--)
+                                            for (; ecount > 0; ecount--)
                                               *p++ = '0';
                                             while (ndigits > nzeroes)
                                               {
@@ -4397,9 +4378,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                            digits without trailing zeroes.  */
                                         if (exponent >= 0)
                                           {
-                                            size_t count = exponent + 1;
-                                            /* Note: count <= precision = ndigits.  */
-                                            for (; count > 0; count--)
+                                            size_t ecount = exponent + 1;
+                                            /* Note: ecount <= precision = ndigits.  */
+                                            for (; ecount > 0; ecount--)
                                               *p++ = digits[--ndigits];
                                             if ((flags & FLAG_ALT) || ndigits > nzeroes)
                                               {
@@ -4413,10 +4394,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                           }
                                         else
                                           {
-                                            size_t count = -exponent - 1;
+                                            size_t ecount = -exponent - 1;
                                             *p++ = '0';
                                             *p++ = decimal_point_char ();
-                                            for (; count > 0; count--)
+                                            for (; ecount > 0; ecount--)
                                               *p++ = '0';
                                             while (ndigits > nzeroes)
                                               {
@@ -4544,9 +4525,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 
                 /* The generated string now extends from tmp to p, with the
                    zero padding insertion point being at pad_ptr.  */
-                if (has_width && p - tmp < width)
+                count = p - tmp;
+
+                if (count < width)
                   {
-                    size_t pad = width - (p - tmp);
+                    size_t pad = width - count;
                     DCHAR_T *end = p + pad;
 
                     if (flags & FLAG_LEFT)
@@ -4579,36 +4562,36 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                     p = end;
                   }
 
-                {
-                  size_t count = p - tmp;
+                count = p - tmp;
 
-                  if (count >= tmp_length)
-                    /* tmp_length was incorrectly calculated - fix the
-                       code above!  */
-                    abort ();
+                if (count >= tmp_length)
+                  /* tmp_length was incorrectly calculated - fix the
+                     code above!  */
+                  abort ();
 
-                  /* Make room for the result.  */
-                  if (count >= allocated - length)
-                    {
-                      size_t n = xsum (length, count);
+                /* Make room for the result.  */
+                if (count >= allocated - length)
+                  {
+                    size_t n = xsum (length, count);
 
-                      ENSURE_ALLOCATION (n);
-                    }
+                    ENSURE_ALLOCATION (n);
+                  }
 
-                  /* Append the result.  */
-                  memcpy (result + length, tmp, count * sizeof (DCHAR_T));
-                  if (tmp != tmpbuf)
-                    free (tmp);
-                  length += count;
-                }
+                /* Append the result.  */
+                memcpy (result + length, tmp, count * sizeof (DCHAR_T));
+                if (tmp != tmpbuf)
+                  free (tmp);
+                length += count;
               }
 #endif
             else
               {
                 arg_type type = a.arg[dp->arg_index].type;
                 int flags = dp->flags;
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
                 int has_width;
+#endif
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
                 size_t width;
 #endif
 #if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || NEED_PRINTF_UNBOUNDED_PRECISION
@@ -4637,8 +4620,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                 TCHAR_T *tmp;
 #endif
 
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
                 has_width = 0;
+#endif
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
                 width = 0;
                 if (dp->width_start != dp->width_end)
                   {
@@ -4649,15 +4634,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -4667,7 +4651,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           width = xsum (xtimes (width, 10), *digitp++ - '0');
                         while (digitp != dp->width_end);
                       }
+#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
                     has_width = 1;
+#endif
                   }
 #endif
 
@@ -4807,7 +4793,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           {
                             const FCHAR_T *mp = dp->width_start;
                             do
-                              *fbp++ = (unsigned char) *mp++;
+                              *fbp++ = *mp++;
                             while (--n > 0);
                           }
                       }
@@ -4828,7 +4814,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           {
                             const FCHAR_T *mp = dp->precision_start;
                             do
-                              *fbp++ = (unsigned char) *mp++;
+                              *fbp++ = *mp++;
                             while (--n > 0);
                           }
                       }
@@ -5155,7 +5141,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                 size_t tmp_length =
                                   MAX_ROOM_NEEDED (&a, dp->arg_index,
                                                    dp->conversion, type, flags,
-                                                   has_width ? width : 0,
+                                                   width,
                                                    has_precision,
                                                    precision, pad_ourselves);
 
@@ -5193,18 +5179,21 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         /* SNPRINTF or sprintf failed.  Save and use the errno
                            that it has set, if any.  */
                         int saved_errno = errno;
+                        if (saved_errno == 0)
+                          {
+                            if (dp->conversion == 'c' || dp->conversion == 's')
+                              saved_errno = EILSEQ;
+                            else
+                              saved_errno = EINVAL;
+                          }
 
                         if (!(result == resultbuf || result == NULL))
                           free (result);
                         if (buf_malloced != NULL)
                           free (buf_malloced);
                         CLEANUP ();
-                        errno =
-                          (saved_errno != 0
-                           ? saved_errno
-                           : (dp->conversion == 'c' || dp->conversion == 's'
-                              ? EILSEQ
-                              : EINVAL));
+
+                        errno = saved_errno;
                         return NULL;
                       }
 
@@ -5393,7 +5382,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                             tmpsrc += count;
                             tmpdst += count;
                             for (n = count; n > 0; n--)
-                              *--tmpdst = (unsigned char) *--tmpsrc;
+                              *--tmpdst = *--tmpsrc;
                           }
                       }
 #endif
index 7b930404548a9d35cc3046b6e5c272cdb3b0f05a..3494eef374cd3fdd310ade668d305a889157215b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7882c95066a452106b8408ee14e868f13c9d8f63..5dd4abd46134eb84a6843e25b8f73ba2a9f36c18 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index ec515b3f8106d4c5eb6ab58aef2f33fc7beea77e..60eba498110747ec1fd31b9b03e4802cf565ec40 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 99d048e8c234b77a06186c4c335220c0b94d9c81..ad78d0d7946901f384a29f85f82f19ad9e2b1552 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2006, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 094d9924aa662a8c471a36fb852c6eda16844543..a93b008dba47d536515d20c623660a86e74735b4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This 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 +38,7 @@
 # define PACKAGE PACKAGE_TARNAME
 #endif
 
-enum { COPYRIGHT_YEAR = 2014 };
+enum { COPYRIGHT_YEAR = 2015 };
 
 /* The three functions below display the --version information the
    standard way.
index a5ddc225e91c53e434117de728508edb319de1ff..408581e301fe9dc7684ee57ba891cf4214979a7e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2005, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7074150b7059879cb470ed9948cd5ecd90a7eeb7..d2ebed9a121fd845e68184e73142aeb34824662f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc.
    Written by Simon Josefsson and Yoann Vandoorselaere <yoann@prelude-ids.org>.
 
    This program is free software; you can redistribute it and/or modify
index 59171b6b63f614777059d72d1f2665c4e49a2672..684299f7d163bc2b3766d82c380a76c1213574e5 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #endif
 @PRAGMA_COLUMNS@
 
-#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
+#if (((defined __need_mbstate_t || defined __need_wint_t)               \
+      && !defined __MINGW32__)                                          \
+     || (defined __hpux                                                 \
+         && ((defined _INTTYPES_INCLUDED && !defined strtoimax)         \
+             || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H))               \
+     || defined _GL_ALREADY_INCLUDING_WCHAR_H)
 /* Special invocation convention:
-   - Inside glibc and uClibc header files.
+   - Inside glibc and uClibc header files, but not MinGW.
    - On HP-UX 11.00 we have a sequence of nested includes
      <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
      once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
index 0cd4cb9fc14c05d3f74139d09bc621455d736040..b38d2e0d645581dc2f2adff36111215aa09b8f2b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert wide character to multibyte character.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index 8375a7109b53b78ef95ab4187149bb8dac6478d2..bb5f847e33012a8f3cc845e8078f7a6955dabe71 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- 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 <config.h>
 #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE
index 892e49e3d25246fbcd6a7d9ce9813ae0d9a792f5..9050b7e5878d28812ad39ff57f93f043b0a2a517 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7863880b98940a5242efde8ce17b6617860f57a8..d2b71189fd58d051c3b98c33123735a3c0cea362 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2010-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 5b58738207f9bf7c33542ff7c0ab73ec78807793..ed2d3b7bf49fc8317010883bf4ac93dfaaa6ada9 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* POSIX compatible write() function.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index 6699df2e1943edb8271c0ca6e11b75016187e8d8..3cea6386c552c7ca15cde10c45a04655d98f32cb 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Report a memory allocation failure and exit.
 
-   Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2014 Free Software
+   Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 6e520972122c9a9a074a00168b1087c6244edc7a..f0e9778f7382bcdac604dcdc8deaaf8371c1ba2f 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3369977af9c31d6474513a646f075aaad5bd12a4..81ef680a3a7aabd036529cf35b6a976f2c13f945 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* xalloc.h -- malloc with out-of-memory checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -43,7 +41,8 @@ extern "C" {
 # define _GL_ATTRIBUTE_MALLOC
 #endif
 
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#if ! defined __clang__ && \
+    (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
 # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
 #else
 # define _GL_ATTRIBUTE_ALLOC_SIZE(args)
@@ -66,7 +65,7 @@ void *xrealloc (void *p, size_t s)
       _GL_ATTRIBUTE_ALLOC_SIZE ((2));
 void *x2realloc (void *p, size_t *pn);
 void *xmemdup (void const *p, size_t s)
-      _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((2));
+      _GL_ATTRIBUTE_ALLOC_SIZE ((2));
 char *xstrdup (char const *str)
       _GL_ATTRIBUTE_MALLOC;
 
@@ -124,10 +123,9 @@ xnrealloc (void *p, size_t n, size_t s)
 
 /* If P is null, allocate a block of at least *PN such objects;
    otherwise, reallocate P so that it contains more than *PN objects
-   each of S bytes.  *PN must be nonzero unless P is null, and S must
-   be nonzero.  Set *PN to the new number of objects, and return the
-   pointer to the new block.  *PN is never set to zero, and the
-   returned pointer is never null.
+   each of S bytes.  S must be nonzero.  Set *PN to the new number of
+   objects, and return the pointer to the new block.  *PN is never set
+   to zero, and the returned pointer is never null.
 
    Repeated reallocations are guaranteed to make progress, either by
    allocating an initial block with a nonzero size, or by allocating a
@@ -198,13 +196,13 @@ x2nrealloc (void *p, size_t *pn, size_t s)
     }
   else
     {
-      /* Set N = ceil (1.5 * N) so that progress is made if N == 1.
+      /* Set N = floor (1.5 * N) + 1 so that progress is made even if N == 0.
          Check for overflow, so that N * S stays in size_t range.
-         The check is slightly conservative, but an exact check isn't
+         The check may be slightly conservative, but an exact check isn't
          worth the trouble.  */
       if ((size_t) -1 / 3 * 2 / s <= n)
         xalloc_die ();
-      n += (n + 1) / 2;
+      n += n / 2 + 1;
     }
 
   *pn = n;
@@ -261,5 +259,6 @@ xmemdup (T const *p, size_t s)
 
 #endif
 
+_GL_INLINE_HEADER_END
 
 #endif /* !XALLOC_H_ */
index f8ded74e9776f822833902403734d0fda21986c5..f8eef97802ba1aa585778234c96fe9109f701ffd 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation,
+   Copyright (C) 1999, 2002-2004, 2006, 2009-2015 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index 5dcb23ad47fea7c84266321a5a9c1daa0e9b4eac..cbaf4d8dc00f9cfae7e0f7a4f512af6b84ba98ef 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* xgetcwd.c -- return current directory with unlimited length
 
-   Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2014 Free Software
+   Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 81b53cad876fe7957797d3204c0f5eadcffd269b..9c472349ce6a17d58aae5241db657b4bf7b0eac2 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* prototype for xgetcwd
-   Copyright (C) 1995, 2001, 2003, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001, 2003, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index de7e43f0b6e9d1e07fafb9d1d95eaeaffa310162..e246559f873bcc5f497526a235a268363a813444 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* xmalloc.c -- malloc with out of memory checking
 
-   Copyright (C) 1990-2000, 2002-2006, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2002-2006, 2008-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 00f7bbc91d7218f86d482e04426b3e1df1b5a90b..4b4914c2ca1f4d98015279b680e92294054687c2 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #include <config.h>
 #define XSIZE_INLINE _GL_EXTERN_INLINE
 #include "xsize.h"
index 3d9fd9af860add4945fe6ba4af0c43f0a919ec13..b2a786a8ee842a11473f5b4b78562a4209722112 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* xsize.h -- Checked size_t computations.
 
-   Copyright (C) 2003, 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 9b7a3029f4485aa7d7fd449b88ce3066dea0b5e5..51831d8c25856e8fcba24476f6fed1cd2a0bfa58 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 092a8d56641452293a33ac701b260b02db10c3d5..d510bf3762504a136026a482c795990a74a86650 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 03a3a4df1d2f161a37335058737b97e725c3e38e..6a2ebea0e34706936702974389d69eb24e64beca 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2014 Free Software
+   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index c8d68af0b0ab1aef54da7721b3dd7a8eed3907ff..bd3ffeb27f82ddcb7e98e6b54dbedae61589bf35 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2014 Free Software
+   Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    need stderr defined if assertion checking is enabled.  */
 #include <stdio.h>
 
-#include <assert.h>
 #include <ctype.h>
 #include <errno.h>
 #include <limits.h>
 #include <stdlib.h>
 #include <string.h>
 
+#include "assure.h"
 #include "intprops.h"
 
 /* xstrtoll.c and xstrtoull.c, which include this file, require that
@@ -95,10 +93,12 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
   __strtol_t tmp;
   strtol_error err = LONGINT_OK;
 
-  assert (0 <= strtol_base && strtol_base <= 36);
+  assure (0 <= strtol_base && strtol_base <= 36);
 
   p = (ptr ? ptr : &t_ptr);
 
+  errno = 0;
+
   if (! TYPE_SIGNED (__strtol_t))
     {
       const char *q = s;
@@ -109,7 +109,6 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
         return LONGINT_INVALID;
     }
 
-  errno = 0;
   tmp = __strtol (s, p, strtol_base);
 
   if (*p == s)
@@ -184,7 +183,7 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
           break;
 
         case 'c':
-          overflow = 0;
+          overflow = LONGINT_OK;
           break;
 
         case 'E': /* exa or exbi */
index a073374646a903eb983bb58b2349790ecc6fa6d1..19202dcddbf8ca58cd661378ed6af223eeff6d6f 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2014 Free Software
+   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2015 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 63968db775d6d291f7770aa1494ca05a8976e4fc..285f7b96f8500a018eba40a1a8235e9abc230df8 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define __strtol strtoul
 #define __strtol_t unsigned long int
 #define __xstrtol xstrtoul
index fce8d5fd3a8e4d9a7773e06cb2ca742051c0e587..9a2349f00d36e1e6aa72b45ea8cf54c76de6924c 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define __strtol strtoumax
 #define __strtol_t uintmax_t
 #define __xstrtol xstrtoumax
index 31c96ab1909c86098ee2e3654d917d8dda588a5b..441ab598d6598c68a135d05b99d22a9225b7536d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2004, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 1c1971003523315c28e6941ee75e82f33834dc61..3b7f5ad8639cf7493980591808cbaae74b8c23c0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- 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-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b2971a28b55bb869a5095371a4966e19ba590d70..c7318d9719ebfb2231ad5a52aa7f8dd3ff8df335 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile for GNU tar library.                        -*- Makefile -*-
 
-# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014 Free
-# Software Foundation, Inc.
+# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014, 2016
+# Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -41,7 +41,6 @@ noinst_HEADERS = \
 
 libtar_a_SOURCES = \
   paxerror.c paxexit-status.c paxlib.h paxnames.c \
-  prepargs.c prepargs.h \
   rtapelib.c \
   rmt.h \
   stdopen.c stdopen.h \
index 41a9acaf301ca71535a924061c91df978e6b32f2..77c68dd7539a0d63d6aaf99c4cb9860e0d5e1e56 100644 (file)
@@ -16,8 +16,8 @@
 
 # Makefile for GNU tar library.                        -*- Makefile -*-
 
-# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014 Free
-# Software Foundation, Inc.
+# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014, 2016
+# Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -127,10 +127,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.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 \
@@ -145,10 +146,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
-       $(top_srcdir)/m4/langinfo_h.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/iswblank.m4 $(top_srcdir)/m4/langinfo_h.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 \
@@ -170,14 +171,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/posix_openpt.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.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/ptsname.m4 \
-       $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.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 \
@@ -213,24 +213,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \
        $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \
        $(top_srcdir)/m4/unistd_h.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/unlockpt.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 \
-       $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \
-       $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \
-       $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
+       $(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 $(top_srcdir)/m4/write.m4 \
+       $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
+       $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
+       $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -245,8 +245,8 @@ 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) wordsplit.$(OBJEXT) xattr-at.$(OBJEXT)
+       paxnames.$(OBJEXT) rtapelib.$(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@)
@@ -502,6 +502,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
 GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
@@ -561,6 +562,7 @@ 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_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
@@ -713,6 +715,7 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -799,6 +802,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_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -872,6 +876,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
 LIB_ACL = @LIB_ACL@
 LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
 LIB_EACCESS = @LIB_EACCESS@
+LIB_HAS_ACL = @LIB_HAS_ACL@
 LIB_SELINUX = @LIB_SELINUX@
 LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1037,10 +1042,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
 REPLACE_RAISE = @REPLACE_RAISE@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
@@ -1073,6 +1080,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
@@ -1115,6 +1123,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 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@
@@ -1205,7 +1214,6 @@ noinst_HEADERS = \
 
 libtar_a_SOURCES = \
   paxerror.c paxexit-status.c paxlib.h paxnames.c \
-  prepargs.c prepargs.h \
   rtapelib.c \
   rmt.h \
   stdopen.c stdopen.h \
@@ -1268,7 +1276,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paxerror.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paxexit-status.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paxnames.Po@am__quote@
-@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@
index 845ee881d402554329d72aa55af339fd58f73454..679000b8e7e0a441e8081a27e01b648c2be1f94b 100644 (file)
@@ -1,5 +1,5 @@
 /* Replacement <attr/xattr.h> for platforms that lack it.
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 71bdae419d0e2cbc91f295bdbc23114f0ec0629d..24ac8e45b8af20e0de7d59c837d15e42617e9f59 100644 (file)
@@ -1,6 +1,6 @@
 /* stdopen.c - ensure that the three standard file descriptors are in use
 
-   Copyright 2005, 2007, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 21807cdb8df3cfa5a15ce0d661143fdb9476e4c6..0653785879066119e51ead51c2b3cd2284900e4e 100644 (file)
@@ -1,5 +1,5 @@
 /* wordsplit - a word splitter
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014, 2016 Free Software Foundation, Inc.
 
    This 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
@@ -61,7 +61,7 @@ _wsplt_alloc_die (struct wordsplit *wsp)
   abort ();
 }
 
-static void __attribute__ ((__format__ (__printf__, 1, 2)))
+static void __WORDSPLIT_ATTRIBUTE_FORMAT ((__printf__, 1, 2))
 _wsplt_error (const char *fmt, ...)
 {
   va_list ap;
@@ -221,7 +221,7 @@ struct wordsplit_node
 {
   struct wordsplit_node *prev; /* Previous element */
   struct wordsplit_node *next; /* Next element */
-  int flags;                   /* Node flags */
+  unsigned flags;              /* Node flags */
   union
   {
     struct
index d64cf2f7719bc91b20f25795c04295cb74a4a260..e0d2559d049569de1f7de63c7bcfcb01dea56c0e 100644 (file)
@@ -1,5 +1,5 @@
 /* wordsplit - a word splitter
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014, 2016 Free Software Foundation, Inc.
 
    This 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
 
 #include <stddef.h>
 
+#if 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+# define __WORDSPLIT_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+#else
+# define __WORDSPLIT_ATTRIBUTE_FORMAT(spec) /* empty */
+#endif
+
 struct wordsplit
 {
   size_t ws_wordc;
@@ -34,9 +40,9 @@ struct wordsplit
   const char *ws_escape;
   void (*ws_alloc_die) (struct wordsplit * wsp);
   void (*ws_error) (const char *, ...)
-                   __attribute__ ((__format__ (__printf__, 1, 2)));
+    __WORDSPLIT_ATTRIBUTE_FORMAT ((__printf__, 1, 2));
   void (*ws_debug) (const char *, ...)
-                   __attribute__ ((__format__ (__printf__, 1, 2)));
+    __WORDSPLIT_ATTRIBUTE_FORMAT ((__printf__, 1, 2));
 
   const char **ws_env;
   const char *(*ws_getvar) (const char *, size_t, void *);
index 443ccae48ff4f5fa2d57e0e926ad299a3d5ee37f..1bb48fa709acb76324eb99062002e3851d2534f4 100644 (file)
@@ -1,7 +1,7 @@
 /* openat-style fd-relative functions for operating with extended file
    attributes.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 
    This 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,6 +31,8 @@
 
 #include "openat-priv.h"
 
+#ifdef HAVE_XATTRS
+
 /* setxattrat */
 #define AT_FUNC_NAME setxattrat
 #define AT_FUNC_F1 setxattr
 #undef AT_FUNC_RESULT
 #undef AT_FUNC_POST_FILE_PARAM_DECLS
 #undef AT_FUNC_POST_FILE_ARGS
+
+#endif /* HAVE_XATTRS */
index 3c6eb7268f8772a40d0c566859a9573079ffd1be..30e52d7311449c1987008b7bfca97c943a0aa6e0 100644 (file)
@@ -1,7 +1,7 @@
 /* Prototypes for openat-style fd-relative functions for operating with
    extended file attributes.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8eca5518ad64a5925ee4b2c8d194fbf7d1591b6b..c7103ed52f505ac77e5c54a229dedee39eae3ffe 100644 (file)
@@ -1,5 +1,5 @@
 # 00gnulib.m4 serial 3
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index ce3e39e9b7d2e938fcfc49a0a8f3c5be8cb5db6b..bc19dfc3010071ff39ef3cfe4922450611b13ff9 100644 (file)
@@ -1,5 +1,5 @@
 # absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 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.
index f02f69d22ac14c14e572e4464e3dc62602c187f1..75fc9ce4c03d95c30a3ec2e404b4c945a2a8fc69 100644 (file)
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -1,30 +1,36 @@
 # acl.m4 - check for access control list (ACL) primitives
-# serial 17
+# serial 21
 
-# Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004-2015 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_DEFUN([gl_FUNC_ACL_ARG],
 [
+  gl_need_lib_has_acl=
   AC_ARG_ENABLE([acl],
     AS_HELP_STRING([--disable-acl], [do not support ACLs]),
     , [enable_acl=auto])
+])
+
 
+AC_DEFUN([gl_FUNC_ACL],
+[
+  AC_REQUIRE([gl_FUNC_ACL_ARG])
   AC_CHECK_FUNCS_ONCE([fchmod])
   LIB_ACL=
   use_acl=0
-  if test "x$enable_acl" != "xno"; then
+  if test "$enable_acl" != no; then
     dnl On all platforms, the ACL related API is declared in <sys/acl.h>.
     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.
+      dnl Test for POSIX-draft-like API (GNU/Linux, FreeBSD, Mac OS X,
+      dnl IRIX, Tru64).  -lacl is needed on GNU/Linux, -lpacl 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
@@ -40,7 +46,7 @@ AC_DEFUN([gl_FUNC_ACL],
            # 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 <acl/libacl.h>.
+             dnl On GNU/Linux, an additional API is declared in <acl/libacl.h>.
              AC_CHECK_HEADERS([acl/libacl.h])
              AC_REPLACE_FUNCS([acl_entries])
              AC_CACHE_CHECK([for ACL_FIRST_ENTRY],
@@ -124,13 +130,15 @@ int type = ACL_TYPE_EXTENDED;]])],
 
       LIBS=$ac_save_LIBS
     fi
-    if test "x$enable_acl$use_acl" = "xyes0"; then
+
+    if test "$enable_acl$use_acl" = yes0; then
       AC_MSG_ERROR([ACLs enabled but support not detected])
-    elif test "x$enable_acl$use_acl" = "xauto0"; then
+    elif test "$enable_acl$use_acl" = auto0; 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
+  test $gl_need_lib_has_acl && LIB_HAS_ACL=$LIB_ACL
   AC_SUBST([LIB_ACL])
   AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl],
     [Define to nonzero if you want access control list support.])
@@ -139,7 +147,7 @@ int type = ACL_TYPE_EXTENDED;]])],
 ])
 
 # 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.
 # When building natively, test for a Darwin 8.7.0 bug, whereby acl_get_file
@@ -166,3 +174,38 @@ AC_DEFUN([gl_ACL_GET_FILE],
         fi])])
   AS_IF([test "$gl_cv_func_working_acl_get_file" != no], [$1], [$2])
 ])
+
+# On GNU/Linux, testing if a file has an acl can be done with the getxattr
+# syscall which doesn't require linking against additional libraries.
+AC_DEFUN([gl_FILE_HAS_ACL],
+[
+  AC_REQUIRE([gl_FUNC_ACL_ARG])
+  if test "$enable_acl" != no; then
+    AC_CACHE_CHECK([for getxattr with XATTR_NAME_POSIX_ACL macros],
+      [gl_cv_getxattr_with_posix_acls],
+      [gl_cv_getxattr_with_posix_acls=no
+       AC_LINK_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <sys/types.h>
+              #include <sys/xattr.h>
+              #include <linux/xattr.h>
+            ]],
+            [[ssize_t a = getxattr (".", XATTR_NAME_POSIX_ACL_ACCESS, 0, 0);
+              ssize_t b = getxattr (".", XATTR_NAME_POSIX_ACL_DEFAULT, 0, 0);
+              return a < 0 || b < 0;
+            ]])],
+         [gl_cv_getxattr_with_posix_acls=yes])])
+  fi
+  if test "$gl_cv_getxattr_with_posix_acls" = yes; then
+    LIB_HAS_ACL=
+    AC_DEFINE([GETXATTR_WITH_POSIX_ACLS], 1,
+      [Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS
+       and XATTR_NAME_POSIX_ACL_DEFAULT.])
+  else
+    dnl Set gl_need_lib_has_acl to a nonempty value, so that any
+    dnl later gl_FUNC_ACL call will set LIB_HAS_ACL=$LIB_ACL.
+    gl_need_lib_has_acl=1
+    LIB_HAS_ACL=$LIB_ACL
+  fi
+  AC_SUBST([LIB_HAS_ACL])
+])
index d7bdea631ff310b189b5c5e1f6a8946e3c448a85..8408bed2882a3eff189abc3c823f72b1076088cd 100644 (file)
@@ -1,5 +1,5 @@
 # alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2015 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,
index 723a7e619108863af4f6814c2f84c31098c1fbb4..e1ed445267b3869bbb88ef1cdb8b529ec8c38ad0 100644 (file)
@@ -1,5 +1,5 @@
 # argp.m4 serial 14
-dnl Copyright (C) 2003-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2015 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.
index 69249449c663b0d7457898b4e9fec69e69b74757..fe1a5ab0bd5043c09b034d4d9daea1bcc2c64f47 100644 (file)
@@ -1,5 +1,5 @@
 # backupfile.m4 serial 14
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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.
index c003367bcf55905625a115b1e0669da5471a3dba..acfca7805051c6b9aa10b87f9824cd85a322b802 100644 (file)
@@ -1,6 +1,6 @@
 # serial 7
 
-# Copyright (C) 2002, 2005, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2009-2015 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.
index 99889445f564716a6556abd83b1b9dbf906d7500..c1da65d43c88c19e7abe5440f5c4cd92be6cf1b3 100644 (file)
@@ -1,5 +1,5 @@
 # btowc.m4 serial 10
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 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.
index ace45566142f83d7c2c6afe677c191772e2a3dfc..6d932fd1ab6cb7924ca5f586bbf890ca17be6e18 100644 (file)
@@ -1,6 +1,6 @@
 # canonicalize.m4 serial 26
 
-dnl Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index 8ed436de9c293a2c9747b14ea8fce4277e357a81..14485832b1834b08acbac56449854a6f9ffb6091 100644 (file)
@@ -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-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2007, 2009-2015 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.
index 2f7b6d7f0efcb78922c173663c43a0ce55fb2af2..633ea3abefc6b92b91243be34be1e8a1e09a7f1b 100644 (file)
@@ -1,7 +1,7 @@
 # serial 27
 # Determine whether we need the chown wrapper.
 
-dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2014 Free Software
+dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2015 Free Software
 dnl Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
index 6c4a637dc6281cb3373ddb8a888803ea985051ad..a903e582ea85e6634a3b79349cf153ae2fbbd802 100644 (file)
@@ -1,5 +1,5 @@
 # clock_time.m4 serial 10
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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.
index 80cde85ad4c65286197c2927095c57093aa004e9..a7a2efeeba481cb0c6d9990c527dcd988071e13e 100644 (file)
@@ -1,5 +1,5 @@
 #serial 4
-dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2015 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.
index 68510c5c5212ed78324f9b0406e55409fd89c86d..d04aefbeebc73f1b4aded989737b50f20711d646 100644 (file)
@@ -1,5 +1,5 @@
 # close.m4 serial 8
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 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.
index d234a52239a90d7a49fffc722fae5620f01b47bf..a4403b4adbc5c43f8345516c135a0ca2f662390f 100644 (file)
@@ -1,5 +1,5 @@
 # closedir.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index 2f0c87e85ae2596e2a12f9c5253624b663278007..26b16e3a5c9cd8938b75039b78cf74a7911eaa57 100644 (file)
@@ -1,5 +1,5 @@
 # closeout.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 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,
index 0cd86cf99215ad40fef56e88b572c5ee3d00f795..49d3a13e36b208bdfdf429ac18c8a30402569aee 100644 (file)
@@ -1,5 +1,5 @@
 # configmake.m4 serial 2
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 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.
index 5ccb733c801f6407c6c4184d353bfaa18ae3cc27..aa9b24373f5b9d5e70b560412cf65fecb6b6772e 100644 (file)
@@ -5,7 +5,7 @@ dnl
 dnl Check whether struct dirent has a member named d_ino.
 dnl
 
-# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2014 Free Software
+# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2015 Free Software
 # Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
index 0a197fbcc13dcd480c8708e157603a0e4f13d407..200957507780598a4265696adeee6db7a7118b9c 100644 (file)
@@ -1,5 +1,5 @@
 #serial 2
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index 3f2b16b1212adb86b21a0827e1a10b4f8f6eeddd..7abd1d05e1966d1bd27b18ffed78cbe87a50939a 100644 (file)
@@ -1,5 +1,5 @@
 # dirent_h.m4 serial 16
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 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.
index b422769484a560604bf101ce8fbf0117eaff466b..ce56cff6912a80d594f97835641647bb6aef8813 100644 (file)
@@ -2,7 +2,7 @@
 
 dnl Find out how to get the file descriptor associated with an open DIR*.
 
-# Copyright (C) 2001-2006, 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2006, 2008-2015 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.
index d2627b8a8ec4ac6420a691a810d4ed1e4e424f99..2a0be516e83e740305b6e1e693bbb72736128391 100644 (file)
@@ -1,5 +1,5 @@
 #serial 10   -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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.
index 937f4bca9a9991dd5a103d19e552421f9ae47823..f307eb2ffcfcc08d585ecc261d43c05d63b4d751 100644 (file)
@@ -1,5 +1,5 @@
 # double-slash-root.m4 serial 4   -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2015 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.
index 9393bc523787d0a7fe7595aba0ab7f4e315fed04..b67e5b7f0ac2a7389ea652546f3f2ae6405da572 100644 (file)
--- a/m4/dup.m4
+++ b/m4/dup.m4
@@ -1,5 +1,5 @@
 # dup.m4 serial 3
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index 89638a0bfe3f2d82edfb2966adbe6065467c8314..59028e0982cc2990cabf2e71d565906b4337d7f4 100644 (file)
@@ -1,5 +1,5 @@
-#serial 20
-dnl Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+#serial 24
+dnl Copyright (C) 2002, 2005, 2007, 2009-2015 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,33 +19,50 @@ AC_DEFUN([gl_FUNC_DUP2],
   if test $HAVE_DUP2 = 1; then
     AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works],
       [AC_RUN_IFELSE([
-         AC_LANG_PROGRAM([[#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>]],
-           [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 some cygwin core dumps.  */
-            if (dup2 (2, -1) != -1 || errno != EBADF)
-              result |= 32;
-            dup2 (2, 255);
-            dup2 (2, 256);
-            return result;
-           ])
+         AC_LANG_PROGRAM(
+           [[#include <errno.h>
+             #include <fcntl.h>
+             #include <limits.h>
+             #include <sys/resource.h>
+             #include <unistd.h>
+             #ifndef RLIM_SAVED_CUR
+             # define RLIM_SAVED_CUR RLIM_INFINITY
+             #endif
+             #ifndef RLIM_SAVED_MAX
+             # define RLIM_SAVED_MAX RLIM_INFINITY
+             #endif
+           ]],
+           [[int result = 0;
+             int bad_fd = INT_MAX;
+             struct rlimit rlim;
+             if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                 && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                 && rlim.rlim_cur != RLIM_INFINITY
+                 && rlim.rlim_cur != RLIM_SAVED_MAX
+                 && rlim.rlim_cur != RLIM_SAVED_CUR)
+               bad_fd = rlim.rlim_cur;
+             #ifdef FD_CLOEXEC
+               if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+                 result |= 1;
+             #endif
+             if (dup2 (1, 1) != 1)
+               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, bad_fd) == -1 && errno != EBADF)
+               result |= 16;
+             /* Flush out some cygwin core dumps.  */
+             if (dup2 (2, -1) != -1 || errno != EBADF)
+               result |= 32;
+             dup2 (2, 255);
+             dup2 (2, 256);
+             return result;]])
         ],
         [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
         [case "$host_os" in
@@ -53,13 +70,14 @@ AC_DEFUN([gl_FUNC_DUP2],
              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.
+           aix* | freebsd*)
+                   # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) 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" ;;
+           *-android*) # implemented using dup3(), which fails if oldfd == newfd
+             gl_cv_func_dup2_works="guessing no" ;;
            *) gl_cv_func_dup2_works="guessing yes" ;;
          esac])
       ])
index 8a51fe7c55151468c5128940e429f973f7376749..322bdd50b419a7d14c8cdb5c6f77e9c942f45de1 100644 (file)
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2015 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.
index cfabe46f5674e9b8062cc244687c4231a6f114b2..4dbf9473e149ec1afdacb416f376f86c8144d63d 100644 (file)
@@ -1,5 +1,5 @@
 # environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2015 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.
index 4ee9e6a14514e6987fa99ba9a29ed91df430cb0b..cfaa687615348895e0c4c38a7c7dfb662b2073ef 100644 (file)
@@ -1,5 +1,5 @@
 # errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2015 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.
index f08ae50f3bfb86bfe9675760971d31e365004641..b3bd7f6c6ca1f56b5d00d061a947a8e5d8a415ca 100644 (file)
@@ -1,6 +1,6 @@
 #serial 14
 
-# Copyright (C) 1996-1998, 2001-2004, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 55393a4566c8a784a8872cdc133a5cf87357cae1..e23e9c311345ad75721bc2124b3bb5bad4fe043e 100644 (file)
@@ -1,5 +1,5 @@
 # euidaccess.m4 serial 15
-dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2015 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.
index 7bee635716a6af8b4aeaccb49c19786a77a56cc5..84f1691a655730dd77c4b7300b4571c29fc0e726 100644 (file)
@@ -1,5 +1,5 @@
 # exponentd.m4 serial 3
-dnl Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2015 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.
index 37f55ca3d155220a09276b97984a456b99dccc45..35bc49c97bffdf361a23de1f3bb1da243d9d5038 100644 (file)
@@ -1,7 +1,7 @@
 # serial 13  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2015 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.
@@ -68,6 +68,10 @@ dnl configure.ac when using autoheader 2.62.
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
+/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
 /* Enable threading extensions on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
@@ -100,6 +104,7 @@ dnl configure.ac when using autoheader 2.62.
   AC_DEFINE([_ALL_SOURCE])
   AC_DEFINE([_DARWIN_C_SOURCE])
   AC_DEFINE([_GNU_SOURCE])
+  AC_DEFINE([__USE_MINGW_ANSI_STDIO])
   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
   AC_DEFINE([_TANDEM_SOURCE])
   AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined],
index 240150efbc73ae400b8e00017f8a4c9c836e565e..72800650e6f23e481623892512083d6f5071b06a 100644 (file)
@@ -1,6 +1,6 @@
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2014 Free Software Foundation, Inc.
+dnl Copyright 2012-2015 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,13 +19,28 @@ AC_DEFUN([gl_EXTERN_INLINE],
    '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 problematic Apple configurations.
-   OS X 10.8 and earlier mishandle it; see, e.g.,
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions.  This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
+
    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
    for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
-   Perhaps Apple will fix this some day.  */
-#if (defined __APPLE__ \
+   Assume DragonFly and FreeBSD will be similar.  */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
      && (defined __header_inline \
          ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
             && ! defined __clang__) \
@@ -33,19 +48,19 @@ AC_DEFUN([gl_EXTERN_INLINE],
              && (defined __GNUC__ || defined __cplusplus)) \
             || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
                 && defined __GNUC__ && ! defined __cplusplus))))
-# define _GL_EXTERN_INLINE_APPLE_BUG
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
 #endif
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
          && !(defined __SUNPRO_C && __STDC__))) \
-     && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
 # define _GL_EXTERN_INLINE_IN_USE
 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
-       && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
@@ -59,17 +74,19 @@ AC_DEFUN([gl_EXTERN_INLINE],
 # define _GL_EXTERN_INLINE static _GL_UNUSED
 #endif
 
-#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 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
-     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.  */
 # define _GL_INLINE_HEADER_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
index d9016bdfe8b7c676d31fb30e444a9d526b4736fd..941cb02d12bb7440e025da4591911237edce5d22 100644 (file)
@@ -1,7 +1,7 @@
 # serial 6
 # See if we need to provide faccessat replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index 9da16b03b4b873222860e8ca558a9d8a27a83289..3d2d97bd7bae871e34df669b383973de84531a7c 100644 (file)
@@ -1,5 +1,5 @@
 # fchdir.m4 serial 21
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 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.
index 28954c4e1c4c95b60c729a24b4375ba2588074a9..b64ff5fd78cd68de927831ca27230e394138174a 100644 (file)
@@ -1,5 +1,5 @@
 # fchmodat.m4 serial 1
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2015 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.
index 479b277ab30b88e1b2ecbd8459b586b4d6c34dee..f55d2d5fd5a301a14cc8235537ae761007293be3 100644 (file)
@@ -1,5 +1,5 @@
 # fchownat.m4 serial 1
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2015 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.
index 43c93124ed5874a66282ed01b365a4fcfb9c1632..891a62fb6a36a93332669c95235c6d1b383a1aff 100644 (file)
@@ -1,5 +1,5 @@
 # fcntl-o.m4 serial 4
-dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2015 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.
index 4a2771fae35f2a50ef1aa1193faad1515d9748db..76dd86711b224814c592fb73ce8a04ef8484aaaf 100644 (file)
@@ -1,5 +1,5 @@
-# fcntl.m4 serial 5
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# fcntl.m4 serial 8
+dnl Copyright (C) 2009-2015 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.
@@ -27,20 +27,40 @@ AC_DEFUN([gl_FUNC_FCNTL],
     dnl haiku alpha 2 F_DUPFD has wrong errno
     AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly],
       [gl_cv_func_fcntl_f_dupfd_works],
-      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-#include <fcntl.h>
-#include <errno.h>
-]], [[int result = 0;
-      if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
-      if (errno != EINVAL) result |= 2;
-      return result;
-         ]])],
+      [AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <errno.h>
+              #include <fcntl.h>
+              #include <limits.h>
+              #include <sys/resource.h>
+              #include <unistd.h>
+              #ifndef RLIM_SAVED_CUR
+              # define RLIM_SAVED_CUR RLIM_INFINITY
+              #endif
+              #ifndef RLIM_SAVED_MAX
+              # define RLIM_SAVED_MAX RLIM_INFINITY
+              #endif
+            ]],
+            [[int result = 0;
+              int bad_fd = INT_MAX;
+              struct rlimit rlim;
+              if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                  && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                  && rlim.rlim_cur != RLIM_INFINITY
+                  && rlim.rlim_cur != RLIM_SAVED_MAX
+                  && rlim.rlim_cur != RLIM_SAVED_CUR)
+                bad_fd = rlim.rlim_cur;
+              if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
+              if (errno != EINVAL) result |= 2;
+              if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+              if (errno != EINVAL) result |= 8;
+              return result;]])],
          [gl_cv_func_fcntl_f_dupfd_works=yes],
          [gl_cv_func_fcntl_f_dupfd_works=no],
-         [# 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";;
+         [case $host_os in
+            aix* | cygwin* | haiku*)
+               gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
+            *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
           esac])])
     case $gl_cv_func_fcntl_f_dupfd_works in
       *yes) ;;
index fb2556d37e3b21baa89eb35279963392df330ef1..b279162a17ce5c28901aeca6c33a6b9b98252a39 100644 (file)
@@ -1,6 +1,6 @@
 # serial 15
 # Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2015 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.
index a3e7849bad29df7f6ca9b19013736354800c5231..317eac94e42589fd24cb2bca2ab09589a8de427d 100644 (file)
@@ -1,7 +1,7 @@
 # serial 10
 # See if we need to provide fdopendir.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index 2ec23e7db417ba3abd28a8c76362842887289bee..be356ff940b04ea06d2d2199930a1abf462bcaf4 100644 (file)
@@ -1,5 +1,5 @@
 # fileblocks.m4 serial 6
-dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2015 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.
index 6c6656aadbefd572eb623967858cdc1b11228d42..bedb58d3c54a70ced096e7ee0f0bf648e1bdc94f 100644 (file)
@@ -1,5 +1,5 @@
 # filenamecat.m4 serial 11
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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/flexmember.m4 b/m4/flexmember.m4
new file mode 100644 (file)
index 0000000..95500ca
--- /dev/null
@@ -0,0 +1,41 @@
+# serial 3
+# Check for flexible array member support.
+
+# Copyright (C) 2006, 2009-2015 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.
+
+AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER],
+[
+  AC_CACHE_CHECK([for flexible array member],
+    ac_cv_c_flexmember,
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdlib.h>
+            #include <stdio.h>
+            #include <stddef.h>
+            struct s { int n; double d[]; };]],
+          [[int m = getchar ();
+            struct s *p = malloc (offsetof (struct s, d)
+                                  + m * sizeof (double));
+            p->d[0] = 0.0;
+            return p->d != (double *) NULL;]])],
+       [ac_cv_c_flexmember=yes],
+       [ac_cv_c_flexmember=no])])
+  if test $ac_cv_c_flexmember = yes; then
+    AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [],
+      [Define to nothing if C supports flexible array members, and to
+       1 if it does not.  That way, with a declaration like 'struct s
+       { int n; double d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack
+       can be used with pre-C99 compilers.
+       When computing the size of such an object, don't use 'sizeof (struct s)'
+       as it overestimates the size.  Use 'offsetof (struct s, d)' instead.
+       Don't use 'offsetof (struct s, d@<:@0@:>@)', as this doesn't work with
+       MSVC and with C++ compilers.])
+  else
+    AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [1])
+  fi
+])
index a27ef7f9732e189400a944692857bc7389e7d63f..e4853f3b091aa699c8771d50511321bca0d87f83 100644 (file)
@@ -1,5 +1,5 @@
 # float_h.m4 serial 9
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 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.
index 9db4144b1b0acbd4916b5a88986efceef9cd4a7c..c33792fe956610d3cd80f01770166a09b570b045 100644 (file)
@@ -1,6 +1,6 @@
 # Check for fnmatch - serial 9.
 
-# Copyright (C) 2000-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2007, 2009-2015 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.
index c2d01ef0713c23834ebe41c6ff34dd328c81a041..4781db123794dbb112366afdc50f5b110394eb26 100644 (file)
@@ -1,6 +1,6 @@
 # serial 21
 
-# Copyright (C) 2000-2001, 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2004-2015 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.
index a5ea41d0b8df0a2c1df9672b1b483dcaa2c5492e..fb29688a0d605cd49f06a8225dfcd662a8a45fee 100644 (file)
@@ -1,5 +1,5 @@
 # fseek.m4 serial 4
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 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.
index 4ccb57d0df0f1eb8036fc68b8b55372a276f491d..84555e2cba986e25b9a08e065666d1bee4aff1b3 100644 (file)
@@ -1,5 +1,5 @@
 # fseeko.m4 serial 17
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 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.
index ddd3fb976801d8f2bcbd02854d698b9a671aa960..d6a928827e1774cf28455a74c5abc9b41769140a 100644 (file)
@@ -1,5 +1,5 @@
 # fstat.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index 548eb7b8da9c1c7eacadc8f10d01953b0f21af3e..e5f9f90061f5a497806427388d8e3bacfef37217 100644 (file)
@@ -1,5 +1,5 @@
 # fstatat.m4 serial 3
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2015 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.
index 397981374b583e0f835f7fdf58b655b25f76ff94..b2f4da02568fda6b3930ffb6079c8f9adf974a17 100644 (file)
@@ -1,7 +1,7 @@
 # serial 6
 # See if we need to provide futimens replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index de69622f661389942632b0df493ea00ed9fd30b8..1a023ccbd8f3ba532d6b1039cceadd9f402696aa 100644 (file)
@@ -3,7 +3,7 @@
 # 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-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2009-2015 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.
index 6b49f1abc91ebe062bb2e8c99a2fd69468b528ac..4630a591f7570efa1ec3e705f8672a8c2d228ece 100644 (file)
@@ -6,7 +6,7 @@
 # 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.
 
-# Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2007, 2009-2015 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.
@@ -122,6 +122,8 @@ main ()
 
       if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE)
         {
+          struct stat sb;
+
           c = getcwd (buf, PATH_MAX);
           if (!c && errno == ENOENT)
             {
@@ -138,6 +140,16 @@ main ()
               fail = 21;
               break;
             }
+
+          /* Our replacement needs to be able to stat() long ../../paths,
+             so generate a path larger than PATH_MAX to check,
+             avoiding the replacement if we can't stat().  */
+          c = getcwd (buf, cwd_len + 1);
+          if (c && !AT_FDCWD && stat (c, &sb) != 0 && is_ENAMETOOLONG (errno))
+            {
+              fail = 32;
+              break;
+            }
         }
 
       if (dotdot_max <= cwd_len - initial_cwd_len)
@@ -194,6 +206,7 @@ main ()
     [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';;
+     32) gl_cv_func_getcwd_path_max='yes, but with shorter paths';;
      *) gl_cv_func_getcwd_path_max=no;;
      esac],
     [case "$host_os" in
index fc986cdab5feb095e122577742e710867e47329d..b9fbcec2e4d462c4825d7b8f378c0fbd06640ede 100644 (file)
@@ -1,6 +1,6 @@
 # getcwd.m4 - check for working getcwd that is compatible with glibc
 
-# Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2015 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.
@@ -136,11 +136,16 @@ AC_DEFUN([gl_FUNC_GETCWD],
         [Define to 1 if getcwd works, except it sometimes fails when it
          shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.])
       ;;
+    "yes, but with shorter paths")
+      AC_DEFINE([HAVE_GETCWD_SHORTER], [1],
+        [Define to 1 if getcwd works, but with shorter paths
+         than is generally tested with the replacement.])
+      ;;
   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 \
+     || { case "$gl_cv_func_getcwd_path_max" in *yes*) false;; *) true;; esac; } \
      || test $gl_abort_bug = yes; then
     REPLACE_GETCWD=1
   fi
index c76399418605dcddb7e84b27195ad6187bce0a49..af9b1faa9acd831b512932f2e1b287ccc88d183d 100644 (file)
@@ -1,6 +1,6 @@
 # getdelim.m4 serial 10
 
-dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2015 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,
index aa523b63d7bf0e97f530d4d3952ac85ce59e7ae5..25e9968947d0cf3703f60a4b86e67151c2846f1d 100644 (file)
@@ -1,5 +1,5 @@
-# getdtablesize.m4 serial 5
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# getdtablesize.m4 serial 6
+dnl Copyright (C) 2008-2015 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,9 @@ AC_DEFUN([gl_FUNC_GETDTABLESIZE],
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
   AC_CHECK_FUNCS_ONCE([getdtablesize])
-  if test $ac_cv_func_getdtablesize = yes; then
+  AC_CHECK_DECLS_ONCE([getdtablesize])
+  if test $ac_cv_func_getdtablesize = yes &&
+     test $ac_cv_have_decl_getdtablesize = yes; then
     # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
     # up to an unchangeable hard limit; all other platforms correctly
     # require setrlimit before getdtablesize() can report a larger value.
index f05357d5292dd31201e69bf8b98e46d4ae3d4d4f..16e72c7bf3cdb6fb16d6c5b3de57451a54605617 100644 (file)
@@ -3,7 +3,7 @@
 dnl From Jim Meyering.
 dnl A wrapper around AC_FUNC_GETGROUPS.
 
-# Copyright (C) 1996-1997, 1999-2004, 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2004, 2008-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 0330666bc766f8645e9dd846d15f0d2d65bec1a0..a35f3a295bce56ce9eda56114a1fb92bc7b695fc 100644 (file)
@@ -1,6 +1,6 @@
 # getline.m4 serial 26
 
-dnl Copyright (C) 1998-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 1998-2003, 2005-2007, 2009-2015 Free Software Foundation,
 dnl Inc.
 dnl
 dnl This file is free software; the Free Software Foundation
index f127028f9486e18c471eb628e4e9cd42555c46e8..e76e501fdd6d6a459199eba4fcb5a17199129e60 100644 (file)
@@ -1,5 +1,5 @@
 # getopt.m4 serial 44
-dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2015 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.
index ce506952ef25d11f311b026fcdbde948d12b3a50..7057a21d0f74c41d7a6b79018ee578d5b4eb1857 100644 (file)
@@ -1,5 +1,5 @@
 # getpagesize.m4 serial 9
-dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2015 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,
index 08e6b21f5ee9b3b2972a6aaad49bb5869c141d80..be247bf7b88860d0f565884bd192d44f6e23e9ec 100644 (file)
@@ -399,4 +399,3 @@ AC_DEFUN([AM_GNU_GETTEXT_NEED],
 
 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-              AC_DEFUN([gl_LOCK_EARLY], [])
index c5ec2643917e7dbeef0ec084347c4352ecdea0ef..cd499ff5d79c956445886e58d018d0f731c6fa83 100644 (file)
@@ -1,5 +1,5 @@
 # gettime.m4 serial 8
-dnl Copyright (C) 2002, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-2006, 2009-2015 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.
index 1c2d66ee261f90b739ea3efce59529a08cfeb817..ce246e18bc2b7d452c19d56818f4527abd7f07f1 100644 (file)
@@ -1,6 +1,6 @@
 # serial 21
 
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2015 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.
index ab58b712137677e1f8aafd8ee561dad5ffac77aa..3a971c5a240f82b560815d9a1ffd52c1bdca46fa 100644 (file)
@@ -1,5 +1,5 @@
 # glibc21.m4 serial 5
-dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2014 Free Software Foundation,
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2015 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,
index 20ce40e7441dcab0c3ccb5ca902e1f04b37d4e39..40e82f6e27fff92db63f693abdab53c22e2b4f27 100644 (file)
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 34
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 36
+dnl Copyright (C) 2007-2015 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.
@@ -49,6 +49,16 @@ AC_DEFUN([gl_COMMON_BODY], [
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
@@ -268,12 +278,12 @@ Amsterdam
       dnl but prefer ${host}-ar over ar (useful for cross-compiling).
       AC_CHECK_TOOL([AR], [ar], [ar])
       if test -z "$ARFLAGS"; then
-        ARFLAGS='cru'
+        ARFLAGS='cr'
       fi
     fi
   else
     if test -z "$ARFLAGS"; then
-      ARFLAGS='cru'
+      ARFLAGS='cr'
     fi
   fi
   AC_SUBST([AR])
@@ -309,26 +319,28 @@ m4_ifdef([AC_PROG_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.
-# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
-m4_ifndef([AC_AUTOCONF_VERSION],[
+# This definition is copied from post-2.69 Autoconf and overrides the
+# AC_C_RESTRICT macro from autoconf 2.60..2.69.  It can be removed
+# once autoconf >= 2.70 can be assumed.  It's painful to check version
+# numbers, and in practice this macro is more up-to-date than Autoconf
+# is, so override Autoconf unconditionally.
 AC_DEFUN([AC_C_RESTRICT],
 [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
   [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
-     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-      [[typedef int * int_ptr;
-        int foo (int_ptr $ac_kw ip) {
-        return ip[0];
-       }]],
-      [[int s[1];
-        int * $ac_kw t = s;
-        t[0] = 0;
-        return foo(t)]])],
+     AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM(
+        [[typedef int *int_ptr;
+          int foo (int_ptr $ac_kw ip) { return ip[0]; }
+          int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+          int bar (int ip[$ac_kw]) { return ip[0]; }
+        ]],
+        [[int s[1];
+          int *$ac_kw t = s;
+          t[0] = 0;
+          return foo (t) + bar (t);
+        ]])],
       [ac_cv_c_restrict=$ac_kw])
      test "$ac_cv_c_restrict" != no && break
    done
@@ -338,21 +350,21 @@ AC_DEFUN([AC_C_RESTRICT],
    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])
  case $ac_cv_c_restrict in
    restrict) ;;
    no) AC_DEFINE([restrict], []) ;;
    *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
  esac
-])
-])
+])# AC_C_RESTRICT
 
 # gl_BIGENDIAN
 # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
index 6d8237418352f577a470fad1d123cb63463be86e..954ffeb0a0669818c3de2f1694eb8f0447ff73ab 100644 (file)
@@ -1,7 +1,5 @@
-# -*- buffer-read-only: t -*- vi: set ro:
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 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
@@ -42,15 +40,19 @@ AC_DEFUN([gl_EARLY],
   AC_REQUIRE([gl_PROG_AR_RANLIB])
   AC_REQUIRE([AM_PROG_CC_C_O])
   # Code from module absolute-header:
-  # Code from module acl:
+  # Code from module acl-permissions:
+  # Code from module alignof:
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module allocator:
   # Code from module areadlink:
+  # Code from module areadlink-with-size:
   # Code from module areadlinkat:
+  # Code from module areadlinkat-with-size:
   # Code from module argmatch:
   # Code from module argp:
   # Code from module argp-version-etc:
+  # Code from module assure:
   # Code from module at-internal:
   # Code from module backupfile:
   # Code from module bitrotate:
@@ -98,9 +100,11 @@ AC_DEFUN([gl_EARLY],
   # Code from module fd-hook:
   # Code from module fdopendir:
   # Code from module fdutimensat:
+  # Code from module file-has-acl:
   # Code from module fileblocks:
   # Code from module filename:
   # Code from module filenamecat-lgpl:
+  # Code from module flexmember:
   # Code from module float:
   # Code from module fnmatch:
   # Code from module fnmatch-gnu:
@@ -136,7 +140,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module inttostr:
   # Code from module inttypes:
   # Code from module inttypes-incomplete:
-  # Code from module isatty:
   # Code from module iswblank:
   # Code from module langinfo:
   # Code from module largefile:
@@ -171,6 +174,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module mkfifoat:
   # Code from module mknod:
   # Code from module mktime:
+  # Code from module mktime-internal:
   # Code from module modechange:
   # Code from module msvc-inval:
   # Code from module msvc-nothrow:
@@ -185,12 +189,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module opendir:
   # Code from module parse-datetime:
   # Code from module pathmax:
-  # Code from module posix_openpt:
   # Code from module priv-set:
   # Code from module progname:
-  # Code from module ptsname:
-  # Code from module ptsname_r:
-  # Code from module qacl:
   # Code from module quote:
   # Code from module quotearg:
   # Code from module quotearg-simple:
@@ -271,8 +271,10 @@ AC_DEFUN([gl_EARLY],
   # Code from module tempname:
   # Code from module time:
   # Code from module time_r:
+  # Code from module time_rz:
+  # Code from module timegm:
   # Code from module timespec:
-  # Code from module ttyname_r:
+  # Code from module timespec-sub:
   # Code from module unistd:
   # Code from module unistd-safer:
   # Code from module unitypes:
@@ -282,7 +284,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module unlinkat:
   # Code from module unlinkdir:
   # Code from module unlocked-io:
-  # Code from module unlockpt:
   # Code from module unsetenv:
   # Code from module utimens:
   # Code from module utimensat:
@@ -325,8 +326,10 @@ AC_DEFUN([gl_INIT],
   m4_pushdef([gl_LIBSOURCES_DIR], [])
   gl_COMMON
   gl_source_base='gnu'
+  gl_FUNC_ACL
   gl_FUNC_ALLOCA
   gl_MODULE_INDICATOR([areadlinkat])
+  gl_MODULE_INDICATOR([areadlinkat-with-size])
   gl_ARGP
   m4_ifdef([AM_XGETTEXT_OPTION],
     [AM_][XGETTEXT_OPTION([--flag=argp_error:2:c-format])
@@ -455,12 +458,14 @@ AC_DEFUN([gl_INIT],
   gl_DIRENT_MODULE_INDICATOR([fdopendir])
   gl_MODULE_INDICATOR([fdopendir])
   gl_MODULE_INDICATOR([fdutimensat])
+  gl_FILE_HAS_ACL
   gl_FILEBLOCKS
   if test $ac_cv_member_struct_stat_st_blocks = no; then
     AC_LIBOBJ([fileblocks])
     gl_PREREQ_FILEBLOCKS
   fi
   gl_FILE_NAME_CONCAT_LGPL
+  AC_C_FLEXIBLE_ARRAY_MEMBER
   gl_FLOAT_H
   if test $REPLACE_FLOAT_LDBL = 1; then
     AC_LIBOBJ([float])
@@ -590,12 +595,6 @@ AC_DEFUN([gl_INIT],
   gl_INTTOSTR
   gl_INTTYPES_H
   gl_INTTYPES_INCOMPLETE
-  gl_FUNC_ISATTY
-  if test $REPLACE_ISATTY = 1; then
-    AC_LIBOBJ([isatty])
-    gl_PREREQ_ISATTY
-  fi
-  gl_UNISTD_MODULE_INDICATOR([isatty])
   gl_FUNC_ISWBLANK
   if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
     :
@@ -621,8 +620,6 @@ AC_DEFUN([gl_INIT],
   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])
@@ -745,6 +742,11 @@ AC_DEFUN([gl_INIT],
     gl_PREREQ_MKTIME
   fi
   gl_TIME_MODULE_INDICATOR([mktime])
+  gl_FUNC_MKTIME_INTERNAL
+  if test $REPLACE_MKTIME = 1; then
+    AC_LIBOBJ([mktime])
+    gl_PREREQ_MKTIME
+  fi
   gl_MODECHANGE
   gl_MSVC_INVAL
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
@@ -782,27 +784,9 @@ AC_DEFUN([gl_INIT],
   gl_DIRENT_MODULE_INDICATOR([opendir])
   gl_PARSE_DATETIME
   gl_PATHMAX
-  gl_FUNC_POSIX_OPENPT
-  if test $HAVE_POSIX_OPENPT = 0; then
-    AC_LIBOBJ([posix_openpt])
-  fi
-  gl_STDLIB_MODULE_INDICATOR([posix_openpt])
   gl_PRIV_SET
   AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
   AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
-  gl_FUNC_PTSNAME
-  if test $HAVE_PTSNAME = 0 || test $REPLACE_PTSNAME = 1; then
-    AC_LIBOBJ([ptsname])
-    gl_PREREQ_PTSNAME
-  fi
-  gl_STDLIB_MODULE_INDICATOR([ptsname])
-  gl_FUNC_PTSNAME_R
-  if test $HAVE_PTSNAME_R = 0 || test $REPLACE_PTSNAME_R = 1; then
-    AC_LIBOBJ([ptsname_r])
-    gl_PREREQ_PTSNAME_R
-  fi
-  gl_STDLIB_MODULE_INDICATOR([ptsname_r])
-  gl_FUNC_ACL
   gl_QUOTE
   gl_QUOTEARG
   gl_FUNC_RAISE
@@ -835,7 +819,7 @@ AC_DEFUN([gl_INIT],
   fi
   gl_UNISTD_MODULE_INDICATOR([readlink])
   gl_FUNC_READLINKAT
-  if test $HAVE_READLINKAT = 0; then
+  if test $HAVE_READLINKAT = 0 || test $REPLACE_READLINKAT = 1; then
     AC_LIBOBJ([readlinkat])
   fi
   gl_UNISTD_MODULE_INDICATOR([readlinkat])
@@ -1018,7 +1002,7 @@ AC_DEFUN([gl_INIT],
   fi
   gl_UNISTD_MODULE_INDICATOR([symlink])
   gl_FUNC_SYMLINKAT
-  if test $HAVE_SYMLINKAT = 0; then
+  if test $HAVE_SYMLINKAT = 0 || test $REPLACE_SYMLINKAT = 1; then
     AC_LIBOBJ([symlinkat])
   fi
   gl_UNISTD_MODULE_INDICATOR([symlinkat])
@@ -1037,18 +1021,23 @@ AC_DEFUN([gl_INIT],
     gl_PREREQ_TIME_R
   fi
   gl_TIME_MODULE_INDICATOR([time_r])
-  gl_TIMESPEC
-  gl_FUNC_TTYNAME_R
-  if test $HAVE_TTYNAME_R = 0 || test $REPLACE_TTYNAME_R = 1; then
-    AC_LIBOBJ([ttyname_r])
-    gl_PREREQ_TTYNAME_R
+  gl_TIME_RZ
+  if test "$HAVE_TIMEZONE_T" = 0; then
+    AC_LIBOBJ([time_rz])
   fi
-  gl_UNISTD_MODULE_INDICATOR([ttyname_r])
+  gl_TIME_MODULE_INDICATOR([time_rz])
+  gl_FUNC_TIMEGM
+  if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then
+    AC_LIBOBJ([timegm])
+    gl_PREREQ_TIMEGM
+  fi
+  gl_TIME_MODULE_INDICATOR([timegm])
+  gl_TIMESPEC
   gl_UNISTD_H
   gl_UNISTD_SAFER
-  gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
-  gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
-  gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width])
+  gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h])
+  gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h])
+  gl_LIBUNISTRING_MODULE([0.9.6], [uniwidth/width])
   gl_FUNC_UNLINK
   if test $REPLACE_UNLINK = 1; then
     AC_LIBOBJ([unlink])
@@ -1061,12 +1050,6 @@ AC_DEFUN([gl_INIT],
   gl_UNISTD_MODULE_INDICATOR([unlinkat])
   gl_UNLINKDIR
   gl_FUNC_GLIBC_UNLOCKED_IO
-  gl_FUNC_UNLOCKPT
-  if test $HAVE_UNLOCKPT = 0; then
-    AC_LIBOBJ([unlockpt])
-    gl_PREREQ_UNLOCKPT
-  fi
-  gl_STDLIB_MODULE_INDICATOR([unlockpt])
   gl_FUNC_UNSETENV
   if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
     AC_LIBOBJ([unsetenv])
@@ -1256,7 +1239,6 @@ AC_DEFUN([gltests_LIBSOURCES], [
 # gnulib-tool and may be removed by future gnulib-tool invocations.
 AC_DEFUN([gl_FILE_LIST], [
   build-aux/config.rpath
-  build-aux/git-log-fix
   build-aux/gitlog-to-changelog
   build-aux/snippet/_Noreturn.h
   build-aux/snippet/arg-nonnull.h
@@ -1265,16 +1247,20 @@ AC_DEFUN([gl_FILE_LIST], [
   build-aux/snippet/warn-on-use.h
   doc/parse-datetime.texi
   lib/acl-errno-valid.c
+  lib/acl-internal.c
   lib/acl-internal.h
   lib/acl.h
   lib/acl_entries.c
+  lib/alignof.h
   lib/alloca.c
   lib/alloca.in.h
   lib/allocator.c
   lib/allocator.h
   lib/anytostr.c
+  lib/areadlink-with-size.c
   lib/areadlink.c
   lib/areadlink.h
+  lib/areadlinkat-with-size.c
   lib/areadlinkat.c
   lib/argmatch.c
   lib/argmatch.h
@@ -1295,6 +1281,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/argp.h
   lib/asnprintf.c
   lib/asprintf.c
+  lib/assure.h
   lib/at-func.c
   lib/at-func2.c
   lib/backupfile.c
@@ -1327,7 +1314,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/closeout.c
   lib/closeout.h
   lib/config.charset
-  lib/copy-acl.c
   lib/dirent--.h
   lib/dirent-private.h
   lib/dirent-safer.h
@@ -1382,6 +1368,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/full-write.c
   lib/full-write.h
   lib/futimens.c
+  lib/get-permissions.c
   lib/getcwd-lgpl.c
   lib/getcwd.c
   lib/getdelim.c
@@ -1407,7 +1394,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/inttostr.c
   lib/inttostr.h
   lib/inttypes.in.h
-  lib/isatty.c
   lib/iswblank.c
   lib/itold.c
   lib/langinfo.in.h
@@ -1471,7 +1457,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/parse-datetime.y
   lib/pathmax.h
   lib/pipe-safer.c
-  lib/posix_openpt.c
   lib/printf-args.c
   lib/printf-args.h
   lib/printf-parse.c
@@ -1480,10 +1465,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/priv-set.h
   lib/progname.c
   lib/progname.h
-  lib/ptsname.c
-  lib/ptsname_r.c
-  lib/qcopy-acl.c
-  lib/qset-acl.c
   lib/quote.h
   lib/quotearg.c
   lib/quotearg.h
@@ -1525,7 +1506,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/secure_getenv.c
   lib/selinux-at.c
   lib/selinux-at.h
-  lib/set-acl.c
+  lib/set-permissions.c
   lib/setenv.c
   lib/signal.in.h
   lib/size_max.h
@@ -1577,11 +1558,14 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/sysexits.in.h
   lib/tempname.c
   lib/tempname.h
+  lib/time-internal.h
   lib/time.in.h
   lib/time_r.c
+  lib/time_rz.c
+  lib/timegm.c
+  lib/timespec-sub.c
   lib/timespec.c
   lib/timespec.h
-  lib/ttyname_r.c
   lib/uinttostr.c
   lib/umaxtostr.c
   lib/unistd--.h
@@ -1597,7 +1581,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/unlinkdir.c
   lib/unlinkdir.h
   lib/unlocked-io.h
-  lib/unlockpt.c
   lib/unsetenv.c
   lib/utimens.c
   lib/utimens.h
@@ -1678,6 +1661,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/fdopendir.m4
   m4/fileblocks.m4
   m4/filenamecat.m4
+  m4/flexmember.m4
   m4/float_h.m4
   m4/fnmatch.m4
   m4/fpending.m4
@@ -1715,7 +1699,6 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/inttypes-pri.m4
   m4/inttypes.m4
   m4/inttypes_h.m4
-  m4/isatty.m4
   m4/iswblank.m4
   m4/langinfo_h.m4
   m4/largefile.m4
@@ -1768,6 +1751,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/nl_langinfo.m4
   m4/nls.m4
   m4/nocrash.m4
+  m4/obstack.m4
   m4/off_t.m4
   m4/open.m4
   m4/openat.m4
@@ -1775,13 +1759,10 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/parse-datetime.m4
   m4/pathmax.m4
   m4/po.m4
-  m4/posix_openpt.m4
   m4/printf-posix.m4
   m4/printf.m4
   m4/priv-set.m4
   m4/progtest.m4
-  m4/ptsname.m4
-  m4/ptsname_r.m4
   m4/quote.m4
   m4/quotearg.m4
   m4/raise.m4
@@ -1847,9 +1828,10 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/threadlib.m4
   m4/time_h.m4
   m4/time_r.m4
+  m4/time_rz.m4
+  m4/timegm.m4
   m4/timespec.m4
   m4/tm_gmtoff.m4
-  m4/ttyname_r.m4
   m4/uintmax_t.m4
   m4/unistd-safer.m4
   m4/unistd_h.m4
@@ -1857,7 +1839,6 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/unlinkat.m4
   m4/unlinkdir.m4
   m4/unlocked-io.m4
-  m4/unlockpt.m4
   m4/utimbuf.m4
   m4/utimens.m4
   m4/utimensat.m4
index 11d55d6caf42dfeff6f5b6a42024419defedd61f..526a67a895b496a9aa0ffdd5bb5b40218c781d8d 100644 (file)
@@ -1,6 +1,6 @@
 # serial 14
 
-# Copyright (C) 1999-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 840b0d4f952d3a3a9a5d204182bc035242425537..f1ace92df0ed5dc9d8951a69af27c110a6925790 100644 (file)
@@ -1,5 +1,5 @@
 #serial 11
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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.
index 4b29c5f2c235174a7e578b3154fbc2e348f21c80..4e37363156620d7b2dd33996846464ae3a3c4b2c 100644 (file)
@@ -1,4 +1,4 @@
-# iconv.m4 serial 18 (gettext-0.18.2)
+# iconv.m4 serial 19 (gettext-0.18.2)
 dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -72,27 +72,33 @@ AC_DEFUN([AM_ICONV_LINK],
       if test $am_cv_lib_iconv = yes; then
         LIBS="$LIBS $LIBICONV"
       fi
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+             [[
 #include <iconv.h>
 #include <string.h>
-int main ()
-{
-  int result = 0;
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+             ]],
+             [[int result = 0;
   /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
      returns.  */
   {
     iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
     if (cd_utf8_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
           result |= 1;
@@ -105,14 +111,14 @@ int main ()
     iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
     if (cd_ascii_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\263";
+        static ICONV_CONST char input[] = "\263";
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
           result |= 2;
@@ -124,14 +130,14 @@ int main ()
     iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
     if (cd_88591_to_utf8 != (iconv_t)(-1))
       {
-        static const char input[] = "\304";
+        static ICONV_CONST char input[] = "\304";
         static char buf[2] = { (char)0xDE, (char)0xAD };
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = 1;
         char *outptr = buf;
         size_t outbytesleft = 1;
         size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
           result |= 4;
@@ -144,14 +150,14 @@ int main ()
     iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
     if (cd_88591_to_utf8 != (iconv_t)(-1))
       {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
         char buf[50];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if ((int)res > 0)
           result |= 8;
@@ -171,17 +177,14 @@ int main ()
       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
     result |= 16;
   return result;
-}]])],
-        [am_cv_func_iconv_works=yes],
-        [am_cv_func_iconv_works=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac
-changequote([,])dnl
-        ])
+]])],
+          [am_cv_func_iconv_works=yes], ,
+          [case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac])
+        test "$am_cv_func_iconv_works" = no || break
+      done
       LIBS="$am_save_LIBS"
     ])
     case "$am_cv_func_iconv_works" in
index 69ad3dbb0f736436fa9a39c3445ff5a30af04ff2..233d254e808ded18d19b5c6937bcea8fac95608c 100644 (file)
@@ -1,5 +1,5 @@
 # include_next.m4 serial 23
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 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.
index af5561e5d483432e7ee24fe3305de769fd0df0d3..4bd8155c83d5151fe2860f51565a548d9bc9fc93 100644 (file)
@@ -1,5 +1,5 @@
 # intmax_t.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 1997-2004, 2006-2007, 2009-2015 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,
index c48e9debb19ccb00f09d58f62eb1429278bd9723..b1842900825a5c53b39c6fb15a1f09a17d172622 100644 (file)
@@ -1,5 +1,5 @@
 #serial 8
-dnl Copyright (C) 2004-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2006, 2009-2015 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.
index 00251e1dbf487ceaf58c48c925da23312bee5cf4..0884e71e6722a59e00a160afa58127b7f1086390 100644 (file)
@@ -1,5 +1,5 @@
 # inttypes-pri.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1997-2002, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 2008-2015 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.
index 2f9317d9550532e946e99d347651428a036f7815..4209ffd150926f10e6d5b5541f20f4002fd20dc6 100644 (file)
@@ -1,5 +1,5 @@
 # inttypes.m4 serial 26
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 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.
index 87be9cfb560a4ccf09b45f8a0aa3db8fb477255f..d0b5f5d98298824228a36d63943c26c4733c3672 100644 (file)
@@ -1,5 +1,5 @@
 # inttypes_h.m4 serial 10
-dnl Copyright (C) 1997-2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2015 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.
index a9ce0a3b0bc24f8d24436dadd163449b3563e08a..bb7480810cb03193f1b92236f166f0d4b0057443 100644 (file)
@@ -1,5 +1,5 @@
 # iswblank.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index e8d78f9d01aa35176b1d57e2999344071456b50a..c3ecba66a113e84a4f372c98cdf92bbd18ac8ff5 100644 (file)
@@ -1,5 +1,5 @@
 # langinfo_h.m4 serial 7
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index a1b564ad9afbc598da1ce9e57b8feca53f16f497..b7a6c48b68020f876a2fbaee3ecf2197421dc8c2 100644 (file)
@@ -1,6 +1,6 @@
 # Enable large files on systems where this is not the default.
 
-# Copyright 1992-1996, 1998-2014 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2015 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.
index 743ed5b0c3f1a145be71d5590da9ac1706f6f33d..e47b7793c6da6bc7b05cbd62d89f41b7a67a8df5 100644 (file)
@@ -1,7 +1,7 @@
 # serial 17
 # Determine whether we need the lchown wrapper.
 
-dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2015 Free Software Foundation,
 dnl Inc.
 
 dnl This file is free software; the Free Software Foundation
index ddc569f73646f480b6bf5f8afa9ba3cf67d21dc4..91ca9117098c5b50974fad2350c79d6d326796c1 100644 (file)
@@ -1,5 +1,5 @@
 # lib-ld.m4 serial 6
-dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2009-2015 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.
index 3522d994d271334afbb80d173c3e998a8697f967..d8d5d1f0e12092ce60a31b8338ef18f7a4c4a014 100644 (file)
@@ -1,5 +1,5 @@
 # lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2015 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.
index 31f49e40aa4bb3ca7f28e14e819395b58438b923..0465f477c0498d8a85224bc7fc3f5a46aac291ca 100644 (file)
@@ -1,5 +1,5 @@
 # lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2015 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.
index d0032671b6f386f51027f4c78f6b586f003885d4..cb8ae8aef708c85a7e9f019cef8cf4e73716c477 100644 (file)
@@ -1,5 +1,5 @@
 # libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 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.
index 8b15585edaa1a1310d00a34dd11d9e400485736a..49899b217976ec0bde80a31ac79de2883612db45 100644 (file)
@@ -2,7 +2,7 @@
 dnl Run a program to determine whether link(2) follows symlinks.
 dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
 
-# Copyright (C) 1999-2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2004-2006, 2009-2015 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.
index e923d0d02524bdec6f07f650f6f8e319f2ffb68d..4778b332ab3675bf17bc0a9f44900049f175f890 100644 (file)
@@ -1,5 +1,5 @@
 # link.m4 serial 8
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index 2da0e30cb1d4154244a3dd748a7023ee862c23fb..9ed082db971fdfe61030fb9bca3ce2cdbaef2b55 100644 (file)
@@ -1,7 +1,7 @@
-# serial 6
+# serial 7
 # See if we need to provide linkat replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
@@ -20,26 +20,38 @@ AC_DEFUN([gl_FUNC_LINKAT],
   if test $ac_cv_func_linkat = no; then
     HAVE_LINKAT=0
   else
-    AC_CACHE_CHECK([whether linkat(,AT_SYMLINK_FOLLOW) works],
-      [gl_cv_func_linkat_follow],
-      [rm -rf conftest.f1 conftest.f2
-       touch conftest.f1
-       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <fcntl.h>
-#include <unistd.h>
-#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
-]], [return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2",
-                    AT_SYMLINK_FOLLOW);])],
-         [gl_cv_func_linkat_follow=yes],
-         [gl_cv_func_linkat_follow="need runtime check"])
-       rm -rf conftest.f1 conftest.f2])
+    dnl OS X Yosemite has linkat() but it's not sufficient
+    dnl to our needs since it doesn't support creating
+    dnl hardlinks to symlinks.  Therefore check for that
+    dnl capability before considering using the system version.
+    AC_CACHE_CHECK([whether linkat() can link symlinks],
+      [gl_cv_func_linkat_nofollow],
+      [rm -rf conftest.l1 conftest.l2
+       ln -s target conftest.l1
+       AC_RUN_IFELSE([AC_LANG_PROGRAM(
+                        [[#include <fcntl.h>
+                          #include <unistd.h>
+                        ]],
+                        [return linkat (AT_FDCWD, "conftest.l1", AT_FDCWD,
+                                            "conftest.l2", 0);
+                        ])],
+         [gl_cv_func_linkat_nofollow=yes],
+         [gl_cv_func_linkat_nofollow=no],
+         [case "$host_os" in
+           darwin*) gl_cv_func_linkat_nofollow="guessing no" ;;
+           *)       gl_cv_func_linkat_nofollow="guessing yes" ;;
+          esac])
+
+       rm -rf conftest.l1 conftest.l2])
+
+    case $gl_cv_func_linkat_nofollow in
+      *no) LINKAT_SYMLINK_NOTSUP=1 ;;
+      *yes) LINKAT_SYMLINK_NOTSUP=0 ;;
+    esac
+
     AC_CACHE_CHECK([whether linkat handles trailing slash correctly],
       [gl_cv_func_linkat_slash],
-      [rm -rf conftest.a conftest.b conftest.c conftest.d
+      [rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s
        AC_RUN_IFELSE(
          [AC_LANG_PROGRAM(
             [[#include <unistd.h>
@@ -70,6 +82,16 @@ choke me
               if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/",
                           AT_SYMLINK_FOLLOW) == 0)
                 result |= 8;
+
+              /* On OS X 10.10 a trailing "/" will cause the second path to be
+                 dereferenced, and thus will succeed on a dangling symlink.  */
+              if (symlink ("conftest.e", "conftest.s") == 0)
+                {
+                  if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.s/",
+                      AT_SYMLINK_FOLLOW) == 0)
+                    result |= 16;
+                }
+
               return result;
             ]])],
          [gl_cv_func_linkat_slash=yes],
@@ -80,16 +102,24 @@ choke me
             *)      gl_cv_func_linkat_slash="guessing no";;
           esac
          ])
-       rm -rf conftest.a conftest.b conftest.c conftest.d])
+       rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s])
     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 \
+
+    case "$gl_cv_func_linkat_nofollow" in
+      *yes) linkat_nofollow=yes ;;
+      *) linkat_nofollow=no ;;
+    esac
+
+    if test "$linkat_nofollow" != yes \
        || test $gl_linkat_slash_bug = 1; then
       REPLACE_LINKAT=1
       AC_DEFINE_UNQUOTED([LINKAT_TRAILING_SLASH_BUG], [$gl_linkat_slash_bug],
         [Define to 1 if linkat fails to recognize a trailing slash.])
+      AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
+        [Define to 1 if linkat can create hardlinks to symlinks])
     fi
   fi
 ])
index ada2f01f6f75fa767b8fd09db47d2d6e731f7639..f03916c024e0800b364692b78d7bf9d11fc08caa 100644 (file)
@@ -1,5 +1,5 @@
 # localcharset.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2009-2015 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.
index 27db5ab87ef0ad630bb27ee421878c6d5921d289..92ff55250edbf4c22d003e8aee5d4fecee6d6998 100644 (file)
@@ -1,5 +1,5 @@
 # locale-fr.m4 serial 17
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2015 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.
index c88fe8b4e59d58bfbc4769dfee813605ada7d15c..a3abef87773352ca6f88457f1072533dbb57f981 100644 (file)
@@ -1,5 +1,5 @@
 # locale-ja.m4 serial 12
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2015 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.
index d3b23474208c49006ae15034f5cd7c7b4418cbad..c5c4ef6592812ae2bb20968a4b6c79c438c56d99 100644 (file)
@@ -1,5 +1,5 @@
 # locale-zh.m4 serial 12
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2015 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.
index 283858843b7b7c1ea2e3aa7616db6bd32a1e7c9f..0d7bb34a6faf5a954fcdb042fcc2e042d789286b 100644 (file)
@@ -1,5 +1,5 @@
 # locale_h.m4 serial 19
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 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.
index 1fd2919520e847b89836e13d2c7f34ed27c6bc3e..464e63082b52cfd73d88a87c48631396e5e7f9f3 100644 (file)
@@ -1,5 +1,5 @@
 # localeconv.m4 serial 1
-dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2015 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.
index eefb37c455eba6d20963c8756825ae243a0d0fa8..d57bc700d4f5c5bacbc6bda57798073913c93c9e 100644 (file)
@@ -1,5 +1,5 @@
 # longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2007, 2009-2015 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.
index 0904d02d52d4abc9cd485f541631b55cb129010b..f337abf1a86b680cb2c6ed8d083c8c6c0f2d55bb 100644 (file)
@@ -1,5 +1,5 @@
 # lseek.m4 serial 10
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 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.
index c5e72b81e824f4a84378145699b6a2968973f591..adf752c0dfa188fdb25551778aca1aee54d154a6 100644 (file)
@@ -1,6 +1,6 @@
-# serial 26
+# serial 27
 
-# Copyright (C) 1997-2001, 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -37,30 +37,28 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_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
-       AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-            [AC_INCLUDES_DEFAULT],
-            [[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;
-            ]])],
-         [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.
-       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
-     fi
+     AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+          [AC_INCLUDES_DEFAULT],
+          [[struct stat sbuf;
+            if (symlink ("conftest.file", "conftest.sym") != 0)
+              return 1;
+            /* 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;
+          ]])],
+       [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
+       [gl_cv_func_lstat_dereferences_slashed_symlink=no],
+       [case "$host_os" in
+          *-gnu*)
+            # Guess yes on glibc systems.
+            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
+       ])
      rm -f conftest.sym conftest.file
     ])
   case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
index 322ad6effe81a598f0fcb69edda846b074df0feb..31368ab97fbc790d2b269a667e112002fcad129d 100644 (file)
@@ -1,5 +1,5 @@
 # malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 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.
index dcc1a0843e94a586e3c121aeffefbaf606a6b0a0..72489517460d3fa65ee67fb0d7ea76fe2aefc426 100644 (file)
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2015 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,
index e1cee6cf9d1105e17db161c1f5da4303be18ba9b..b4e38d94463183d8626dd59d74506c138c027cff 100644 (file)
@@ -1,5 +1,5 @@
-# manywarnings.m4 serial 6
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# manywarnings.m4 serial 7
+dnl Copyright (C) 2008-2015 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.
@@ -93,6 +93,14 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
   fi
 
   # List all gcc warning categories.
+  # To compare this list to your installed GCC's, run this Bash command:
+  #
+  # comm -3 \
+  #  <(sed -n 's/^  *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \
+  #  <(gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort |
+  #      grep -v -x -f <(
+  #         awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec))
+
   gl_manywarn_set=
   for gl_manywarn_item in \
     -W \
@@ -100,20 +108,25 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Waddress \
     -Waggressive-loop-optimizations \
     -Wall \
-    -Warray-bounds \
     -Wattributes \
     -Wbad-function-cast \
+    -Wbool-compare \
     -Wbuiltin-macro-redefined \
     -Wcast-align \
     -Wchar-subscripts \
+    -Wchkp \
     -Wclobbered \
     -Wcomment \
     -Wcomments \
     -Wcoverage-mismatch \
     -Wcpp \
+    -Wdate-time \
     -Wdeprecated \
     -Wdeprecated-declarations \
+    -Wdesignated-init \
     -Wdisabled-optimization \
+    -Wdiscarded-array-qualifiers \
+    -Wdiscarded-qualifiers \
     -Wdiv-by-zero \
     -Wdouble-promotion \
     -Wempty-body \
@@ -124,6 +137,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wformat-extra-args \
     -Wformat-nonliteral \
     -Wformat-security \
+    -Wformat-signedness \
     -Wformat-y2k \
     -Wformat-zero-length \
     -Wfree-nonheap-object \
@@ -131,15 +145,19 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wimplicit \
     -Wimplicit-function-declaration \
     -Wimplicit-int \
+    -Wincompatible-pointer-types \
     -Winit-self \
     -Winline \
+    -Wint-conversion \
     -Wint-to-pointer-cast \
     -Winvalid-memory-model \
     -Winvalid-pch \
     -Wjump-misses-init \
+    -Wlogical-not-parentheses \
     -Wlogical-op \
     -Wmain \
     -Wmaybe-uninitialized \
+    -Wmemset-transposed-args \
     -Wmissing-braces \
     -Wmissing-declarations \
     -Wmissing-field-initializers \
@@ -150,9 +168,10 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wnarrowing \
     -Wnested-externs \
     -Wnonnull \
-    -Wnormalized=nfc \
+    -Wodr \
     -Wold-style-declaration \
     -Wold-style-definition \
+    -Wopenmp-simd \
     -Woverflow \
     -Woverlength-strings \
     -Woverride-init \
@@ -167,6 +186,9 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wreturn-type \
     -Wsequence-point \
     -Wshadow \
+    -Wshift-count-negative \
+    -Wshift-count-overflow \
+    -Wsizeof-array-argument \
     -Wsizeof-pointer-memaccess \
     -Wstack-protector \
     -Wstrict-aliasing \
@@ -176,7 +198,10 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wsuggest-attribute=format \
     -Wsuggest-attribute=noreturn \
     -Wsuggest-attribute=pure \
+    -Wsuggest-final-methods \
+    -Wsuggest-final-types \
     -Wswitch \
+    -Wswitch-bool \
     -Wswitch-default \
     -Wsync-nand \
     -Wsystem-headers \
@@ -203,13 +228,27 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wvla \
     -Wvolatile-register-var \
     -Wwrite-strings \
-    -fdiagnostics-show-option \
-    -funit-at-a-time \
     \
     ; do
     gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
   done
 
+  # gcc --help=warnings outputs an unusual form for these options; list
+  # them here so that the above 'comm' command doesn't report a false match.
+  gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2"
+  gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc"
+
+  # These are needed for older GCC versions.
+  if test -n "$GCC"; then
+    case `($CC --version) 2>/dev/null` in
+      'gcc (GCC) '[[0-3]].* | \
+      'gcc (GCC) '4.[[0-7]].*)
+        gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option"
+        gl_manywarn_set="$gl_manywarn_set -funit-at-a-time"
+          ;;
+    esac
+  fi
+
   # Disable specific options as needed.
   if test "$gl_cv_cc_nomfi_needed" = yes; then
     gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
index e250ca83c6e9583ef59457100111a62bb9d78fc6..3f721c9d1ffc3391b7571247782707215e4302aa 100644 (file)
@@ -1,5 +1,5 @@
 # mbchar.m4 serial 9
-dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2015 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.
index 648bf45c49445da837ef6fca2994dc9547fe2734..becf8a7c97bd345a9aabeea3f6b7918dd0b83f8b 100644 (file)
@@ -1,5 +1,5 @@
 # mbiter.m4 serial 7
-dnl Copyright (C) 2005, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008-2015 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.
index a9d1570928375caa4243fb79416d6ef24f1db1ba..c0d751dc84e3a304c52e2b9c56dc123d1182ef46 100644 (file)
@@ -1,5 +1,5 @@
-# mbrtowc.m4 serial 25
-dnl Copyright (C) 2001-2002, 2004-2005, 2008-2014 Free Software Foundation,
+# mbrtowc.m4 serial 26
+dnl Copyright (C) 2001-2002, 2004-2005, 2008-2015 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,
@@ -39,6 +39,7 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
       gl_MBRTOWC_NULL_ARG2
       gl_MBRTOWC_RETVAL
       gl_MBRTOWC_NUL_RETVAL
+      gl_MBRTOWC_EMPTY_INPUT
       case "$gl_cv_func_mbrtowc_null_arg1" in
         *yes) ;;
         *) AC_DEFINE([MBRTOWC_NULL_ARG1_BUG], [1],
@@ -67,6 +68,14 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
            REPLACE_MBRTOWC=1
            ;;
       esac
+      case "$gl_cv_func_mbrtowc_empty_input" in
+        *yes) ;;
+        *) AC_DEFINE([MBRTOWC_EMPTY_INPUT_BUG], [1],
+             [Define if the mbrtowc function does not return (size_t) -2
+              for empty input.])
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
     fi
   fi
 ])
@@ -533,6 +542,41 @@ int main ()
     ])
 ])
 
+dnl Test whether mbrtowc returns the correct value on empty input.
+
+AC_DEFUN([gl_MBRTOWC_EMPTY_INPUT],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether mbrtowc works on empty input],
+    [gl_cv_func_mbrtowc_empty_input],
+    [
+      dnl Initial guess, used when cross-compiling or when no suitable locale
+      dnl is present.
+changequote(,)dnl
+      case "$host_os" in
+                     # Guess no on AIX and glibc systems.
+        aix* | *-gnu*)
+                    gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+        *)          gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+      esac
+changequote([,])dnl
+      AC_RUN_IFELSE(
+        [AC_LANG_SOURCE([[
+           #include <wchar.h>
+           static wchar_t wc;
+           static mbstate_t mbs;
+           int
+           main (void)
+           {
+             return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+           }]])],
+        [gl_cv_func_mbrtowc_empty_input=no],
+        [gl_cv_func_mbrtowc_empty_input=yes],
+        [:])
+    ])
+])
+
 # Prerequisites of lib/mbrtowc.c.
 AC_DEFUN([gl_PREREQ_MBRTOWC], [
   :
index e1598a1d7c62c4e4548026fc8f46fb5f0d59d10d..61c40329021e95777884776cb52a3d940dd385f9 100644 (file)
@@ -1,5 +1,5 @@
 # mbsinit.m4 serial 8
-dnl Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2015 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.
index 6967f3568400bf19c412df89fc67f1fd78b1d45b..cea47e51be9f9c0598b193b0ad05a37eecd6fb20 100644 (file)
@@ -1,5 +1,5 @@
 # mbsrtowcs.m4 serial 13
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 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.
index 068155a52c323a2abfd759068086eded3dffc413..42ad6cd632ef7ddc8fcf910add7823dda1702cf1 100644 (file)
@@ -1,5 +1,5 @@
 # mbstate_t.m4 serial 13
-dnl Copyright (C) 2000-2002, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2008-2015 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.
index cacfe1610cb8008450a5adbaba58b901a4cc6258..88cdeeeff1e425f358b40af200834f0cd7461b21 100644 (file)
@@ -1,5 +1,5 @@
 # mbtowc.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index b9f126cfad484e80f4dd72652c91bb604cf6183e..cb958d86268913758b1f1f2bb2560b1cabfa6b01 100644 (file)
@@ -1,5 +1,5 @@
 # memchr.m4 serial 12
-dnl Copyright (C) 2002-2004, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2009-2015 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.
index b6d0b141476b0549809d63cfd92f71696ce0bde2..aff590efa2ad81312189c334405a76e8de6a057f 100644 (file)
@@ -1,5 +1,5 @@
 # mempcpy.m4 serial 11
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2015 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,
index 5dbe4d1e8a20b30743fd6d731498f0a5aa8d67d6..f3f74b82cc077b255c911a200bf586370e730ae5 100644 (file)
@@ -1,5 +1,5 @@
 # memrchr.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 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,
index 51e78c13dbcb5d8ca30ba75e680f5b07f9758644..3d9868df136a02d814c44d1cbfc8b3bb377a0542 100644 (file)
@@ -1,6 +1,6 @@
 # serial 11
 
-# Copyright (C) 2001, 2003-2004, 2006, 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2004, 2006, 2008-2015 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.
index fe63b42c9dc4a615c5b064c08d68a26961540690..0780b2b252d4ce38be17c1454301942831e57fc0 100644 (file)
@@ -1,5 +1,5 @@
 # mkdirat.m4 serial 1
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2015 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.
index dcc2ac0a28c43dc91604aec4dec28e9911e5b678..fb3182d55ecf40153b432a702e3849033e0015f8 100644 (file)
@@ -1,5 +1,5 @@
 # mkdtemp.m4 serial 8
-dnl Copyright (C) 2001-2003, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2001-2003, 2006-2007, 2009-2015 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,
index 4328d8f6387caa77b11e208a722ec1d3347cb921..7d67a2977e2206a7ce7ee3e688575caea7e11b05 100644 (file)
@@ -1,7 +1,7 @@
 # serial 4
 # See if we need to provide mkfifo replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index 05f432fab6e78ad43aa87db24e9839659a381a8d..0906348fdf5958db6d8ac949349a25c053a34bce 100644 (file)
@@ -1,7 +1,7 @@
 # serial 3
 # See if we need to provide mkfifoat/mknodat replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index 8475bc38e63aa09c0848808ad3be91c0da4c97bd..f6407a7ac63ca718fa7f724f0d40cbf7b4ff8567 100644 (file)
@@ -1,7 +1,7 @@
 # serial 5
 # See if we need to provide mknod replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index e8d340ac0957515bc8d878d5dda02bcf4b0f9777..3f0e1eee44082fab2bf9eeeb2066a18012d55159 100644 (file)
@@ -1,5 +1,5 @@
 # serial 25
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 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,
index 94ae2e2f21894445f3f499c284dde0533b25782c..92a88d05fb0fe1dffc21c81ca4f876a0a65151c8 100644 (file)
@@ -1,5 +1,5 @@
 # mmap-anon.m4 serial 10
-dnl Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2015 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.
index db6e192be9f156a06b9aa94f9b3272f1a138e8f5..01badba7a27a90771b954a903c20b3a9a69e715a 100644 (file)
@@ -1,5 +1,5 @@
 # mode_t.m4 serial 2
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index b89101e809333e3c401431635303ebf589e3ea41..8a763c7d6c6a68b23826f84c0941a1ec0f676121 100644 (file)
@@ -1,5 +1,5 @@
 # modechange.m4 serial 7
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 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,
index 7f26087e745fbde7ab4b7780128e29acb92b9aa4..9446fa585010885bf6d9806a2f20b2cb77605ebc 100644 (file)
@@ -1,5 +1,5 @@
 # msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index 9e32c171e899446f6c87a076d5b242f9f6e77a01..5d72a042da6dbaaff2c104bfad9ac73c51038812 100644 (file)
@@ -1,5 +1,5 @@
 # msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index 2cb956dee56e56d92f4fb1629dca097cf4ec26ed..fc575c1d43739153c89d05f32ec69eeaa32bf485 100644 (file)
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 7
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 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.
index 6976e77678fecebc13413363722e71f310267b24..c8bf20fb3aeab80aa055bcd88908a8b510127753 100644 (file)
@@ -1,5 +1,5 @@
 # nl_langinfo.m4 serial 5
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index 5a5d77d63b512d67f2b15d0f410f93583b3d6566..56283180f04f2bc15b59e681870917c5403aa3d1 100644 (file)
@@ -1,5 +1,5 @@
 # nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2015 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/obstack.m4 b/m4/obstack.m4
new file mode 100644 (file)
index 0000000..9213921
--- /dev/null
@@ -0,0 +1,35 @@
+# See if we need to provide obstacks.
+
+dnl Copyright 1996-2015 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 This replaces Autoconf's AC_FUNC_OBSTACK.
+dnl The Autoconf version should be marked obsolete at some point.
+
+AC_DEFUN([AC_FUNC_OBSTACK],
+  [AC_LIBSOURCES([obstack.h, obstack.c])dnl
+   AC_CACHE_CHECK([for obstacks that work with any size object],
+     [ac_cv_func_obstack],
+     [AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[#include "obstack.h"
+             void *obstack_chunk_alloc (size_t n) { return 0; }
+             void obstack_chunk_free (void *p) { }
+             /* Check that an internal function returns size_t, not int.  */
+             size_t _obstack_memory_used (struct obstack *);
+            ]],
+           [[struct obstack mem;
+             obstack_init (&mem);
+             obstack_free (&mem, 0);
+           ]])],
+        [ac_cv_func_obstack=yes],
+        [ac_cv_func_obstack=no])])
+   if test "$ac_cv_func_obstack" = yes; then
+     AC_DEFINE([HAVE_OBSTACK], 1,
+       [Define to 1 if the system has obstacks that work with any size object.])
+   else
+     AC_LIBOBJ([obstack])
+   fi
+])
index f5885b34b1c70f32f5ae4cdf4cc214d2570e8149..0eb14678be143389a8934a205958684deb5e0769 100644 (file)
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2015 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.
index 68f116f0a83778efce967d4248f9ca71a6d6c961..2accbaa92ade4a548280ab0ab7d07f1872d9c73b 100644 (file)
@@ -1,5 +1,5 @@
 # open.m4 serial 14
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 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.
index ad1d9d387b698c62b06f7c233c121169ac2bb1ef..c928ff76f8f8c196f98bdc926b9d42adb1642f53 100644 (file)
@@ -1,7 +1,7 @@
 # serial 45
 # See if we need to use our replacement for Solaris' openat et al functions.
 
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2015 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.
index fa29c643f9df18cc9b33e1caf448a09594a64073..cd83706a9cfb619302cf6869f5a500308a958720 100644 (file)
@@ -1,5 +1,5 @@
 # opendir.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index 787300969c7a97bd5e05845d45dcfa42a9fd18bf..2fc15c62980606747d673b9a6544606f1d45eb1c 100644 (file)
@@ -1,5 +1,5 @@
 # parse-datetime.m4 serial 21
-dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2015 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.
index 114f91f04b5515ca9f5e20e414efdf5a1d606a32..0e3db7a237bd5d55aae50f4030dd958d130a5e0a 100644 (file)
@@ -1,5 +1,5 @@
 # pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 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,
index bd210c53690e245d14676dd10a3f945f086b3ab4..43012dca1b403d6b6fddbbde35b4449f5caa7191 100644 (file)
--- a/m4/po.m4
+++ b/m4/po.m4
@@ -1,4 +1,4 @@
-# po.m4 serial 21 (gettext-0.18.3)
+# po.m4 serial 24 (gettext-0.19)
 dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -30,7 +30,7 @@ AC_DEFUN([AM_PO_SUBDIRS],
 
   dnl Release version of the gettext macros. This is used to ensure that
   dnl the gettext macros and po/Makefile.in.in are in sync.
-  AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
+  AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
 
   dnl Perform the following tests also if --disable-nls has been given,
   dnl because they are needed for "make dist" to work.
index 9346ab041daf5cd0ed23b88614fceab96fb045c2..d06746aae78f872a63d5c1dbfed3a4ac996ef92a 100644 (file)
@@ -1,5 +1,5 @@
-# printf.m4 serial 50
-dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+# printf.m4 serial 52
+dnl Copyright (C) 2003, 2007-2015 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.
@@ -61,7 +61,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_printf_sizes_c99="guessing yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_printf_sizes_c99="guessing no";;
+           freebsd[1-4].*)       gl_cv_func_printf_sizes_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_sizes_c99="guessing no";;
@@ -220,7 +220,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_printf_infinite="guessing yes";;
                                  # Guess yes on FreeBSD >= 6.
-           freebsd[1-5]*)        gl_cv_func_printf_infinite="guessing no";;
+           freebsd[1-5].*)       gl_cv_func_printf_infinite="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_infinite="guessing no";;
@@ -328,7 +328,7 @@ int main ()
 # ifdef WORDS_BIGENDIAN
 #  define LDBL80_WORDS(exponent,manthi,mantlo) \
      { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
-       ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16),    \
+       ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16),   \
        (unsigned int) (mantlo) << 16                                        \
      }
 # else
@@ -365,66 +365,51 @@ int main ()
   { /* Pseudo-NaN.  */
     static union { unsigned int word[4]; long double value; } x =
       { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lf", x.value) <= 0)
       result |= 4;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Le", x.value) <= 0)
       result |= 4;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lg", x.value) <= 0)
       result |= 4;
   }
   { /* Pseudo-Infinity.  */
     static union { unsigned int word[4]; long double value; } x =
       { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lf", x.value) <= 0)
       result |= 8;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Le", x.value) <= 0)
       result |= 8;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lg", x.value) <= 0)
       result |= 8;
   }
   { /* Pseudo-Zero.  */
     static union { unsigned int word[4]; long double value; } x =
       { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lf", x.value) <= 0)
       result |= 16;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Le", x.value) <= 0)
       result |= 16;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lg", x.value) <= 0)
       result |= 16;
   }
   { /* Unnormalized number.  */
     static union { unsigned int word[4]; long double value; } x =
       { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lf", x.value) <= 0)
       result |= 32;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Le", x.value) <= 0)
       result |= 32;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lg", x.value) <= 0)
       result |= 32;
   }
   { /* Pseudo-Denormal.  */
     static union { unsigned int word[4]; long double value; } x =
       { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lf", x.value) <= 0)
       result |= 64;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Le", x.value) <= 0)
       result |= 64;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
+    if (sprintf (buf, "%Lg", x.value) <= 0)
       result |= 64;
   }
 #endif
@@ -442,7 +427,7 @@ changequote(,)dnl
                                          # Guess yes on glibc systems.
                    *-gnu*)               gl_cv_func_printf_infinite_long_double="guessing yes";;
                                          # Guess yes on FreeBSD >= 6.
-                   freebsd[1-5]*)        gl_cv_func_printf_infinite_long_double="guessing no";;
+                   freebsd[1-5].*)       gl_cv_func_printf_infinite_long_double="guessing no";;
                    freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
                                          # Guess yes on HP-UX >= 11.
                    hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";;
@@ -588,7 +573,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_printf_directive_f="guessing yes";;
                                  # Guess yes on FreeBSD >= 6.
-           freebsd[1-5]*)        gl_cv_func_printf_directive_f="guessing no";;
+           freebsd[1-5].*)       gl_cv_func_printf_directive_f="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_directive_f="guessing no";;
@@ -1136,7 +1121,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_snprintf_truncation_c99="guessing yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_snprintf_truncation_c99="guessing no";;
+           freebsd[1-4].*)       gl_cv_func_snprintf_truncation_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_truncation_c99="guessing no";;
@@ -1235,7 +1220,7 @@ changequote(,)dnl
                                  # 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[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";;
@@ -1316,7 +1301,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_snprintf_directive_n="guessing yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_snprintf_directive_n="guessing no";;
+           freebsd[1-4].*)       gl_cv_func_snprintf_directive_n="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_directive_n="guessing no";;
@@ -1458,7 +1443,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+           freebsd[1-4].*)       gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
index 6a1ed240472382bd6382577f4e325f6b9e2fa941..e834bc636b51febc24592b6c1aa6209da4919b17 100644 (file)
@@ -1,6 +1,6 @@
 # serial 8
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index b499f79cf39b24b8ead7ff83298781e4086595ec..8706d526986b042adc57fe202389af6f23a314b5 100644 (file)
@@ -1,5 +1,5 @@
 # progtest.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1996-2003, 2005, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2005, 2008-2015 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.
index 95b3e71b7152eb225d218406b15c0c7eeec3c78c..af72e964093808c22016b3c745d6dc3bae9f7db7 100644 (file)
@@ -1,5 +1,5 @@
 # quote.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 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,
index eaebbf638fc1170b0b3b2dd007dd2b9be2bb5c40..985b30d0ec3deb6a810878a88ba1bc2d8d37383c 100644 (file)
@@ -1,5 +1,5 @@
 # quotearg.m4 serial 9
-dnl Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-2015 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.
index 8656578efc16a918f6b3e0a0300fca716d72e7ec..ed6aae03687aabe1c090e4176a12673c515b9bdc 100644 (file)
@@ -1,5 +1,5 @@
 # raise.m4 serial 3
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index a35af402ab65fcf9a58ff674613ad6584016e82a..88e815eae16679fe8a838823025d803bdd178b54 100644 (file)
@@ -1,5 +1,5 @@
 # rawmemchr.m4 serial 2
-dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2015 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.
index 176b0b04d6bb7a6aeeca558f937f53320099748d..9fdd7df13f8ba7a2e80bb6bec98baf24d3274527 100644 (file)
@@ -1,5 +1,5 @@
 # read.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index bd7be5c3a66c3c71dbd46b90b4c36ff80da6f4c8..8aa348ff31a254e49baad8a257c155c0257e9086 100644 (file)
@@ -1,5 +1,5 @@
 # readdir.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index f9ce868c2e496b9f51bf33f7945b05431bcf2a4b..88c9bfef7170470176328bc961d78adc58a23871 100644 (file)
@@ -1,5 +1,5 @@
 # readlink.m4 serial 12
-dnl Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2015 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.
index 65c0689c114b88d5d0f71435d3bfa22e7a3df083..3477602a14faedb08a6f7a89627eefd955294773 100644 (file)
@@ -1,7 +1,7 @@
-# serial 3
+# serial 5
 # See if we need to provide readlinkat replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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,7 +13,30 @@ AC_DEFUN([gl_FUNC_READLINKAT],
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_CHECK_FUNCS_ONCE([readlinkat])
+  AC_REQUIRE([gl_FUNC_READLINK])
   if test $ac_cv_func_readlinkat = no; then
     HAVE_READLINKAT=0
+  else
+    AC_CACHE_CHECK([whether readlinkat signature is correct],
+      [gl_cv_decl_readlinkat_works],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+           [[#include <unistd.h>
+             /* Check whether original declaration has correct type.  */
+             ssize_t readlinkat (int, char const *, char *, size_t);]])],
+         [gl_cv_decl_readlinkat_works=yes],
+         [gl_cv_decl_readlinkat_works=no])])
+    # Assume readinkat has the same trailing slash bug as readlink,
+    # as is the case on Mac Os X 10.10
+    case "$gl_cv_func_readlink_works" in
+      *yes)
+        if test "$gl_cv_decl_readlinkat_works" != yes; then
+          REPLACE_READLINKAT=1
+        fi
+        ;;
+      *)
+        REPLACE_READLINKAT=1
+        ;;
+    esac
   fi
 ])
index f96537ba67199953c0ab0e74af6ade6a3b0d0aae..0e1d3386e70eb0ee1447111e774d83eb82cea6a3 100644 (file)
@@ -1,5 +1,5 @@
 # realloc.m4 serial 13
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 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.
index 08bd46a96d98c59c4a25b27b73b86f82a8c681ad..0fa7455df0b533d7c63d9ab28c55dea83f82eb09 100644 (file)
@@ -1,6 +1,6 @@
 # serial 65
 
-# Copyright (C) 1996-2001, 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index ea57794915e14ff6c82f6c4317805b6bef9a60af..b5e4334574d8e0a826ab3df92503ebb1e9ad89a0 100644 (file)
@@ -1,6 +1,6 @@
 # serial 26
 
-# Copyright (C) 2001, 2003, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005-2006, 2009-2015 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.
index c248349a7fc4cd2db09df70ac78dcadc9459787d..943fe6bcb7371bfed8682b2dd5958a7903679466 100644 (file)
@@ -1,7 +1,7 @@
 # serial 3
 # See if we need to provide renameat replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index 06f54142e3a90e3422d006d0d60b6a95b6b60d26..a189793e6421abbdacb24483eb04622d5dee89c2 100644 (file)
@@ -1,5 +1,5 @@
 # rewinddir.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index db6a9399c42608c629d9fd6eb15a78fc9ffc0e96..09ed159e046c7de46074d3c4bd7b4c10c3f59b14 100644 (file)
@@ -1,5 +1,5 @@
 # rmdir.m4 serial 13
-dnl Copyright (C) 2002, 2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2009-2015 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.
index 6fd0f5dff92143336beaa9093caa8dae61afb4a4..541a3101a626f1af15a4021ac3bb7448da683d14 100644 (file)
@@ -1,5 +1,5 @@
 # rpmatch.m4 serial 10
-dnl Copyright (C) 2002-2003, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2007-2015 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.
index f0c42e08f52a3f701c74da2da0c85407b17dcbdc..697a07cf85c66b51d1fa4c1da58d51722d5ebbab 100644 (file)
@@ -1,5 +1,5 @@
 # safe-read.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 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,
index 66648bbb561e2d297897a0ad21bf4279add12ed0..1cef87c5a0e597103ba157b748b3f5201d676f99 100644 (file)
@@ -1,5 +1,5 @@
 # safe-write.m4 serial 4
-dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2015 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.
index 68dd1c5c6f27531bfbae75c06c0286b959fa6e45..8e61212fdcd5eb0324cee79f9f77709be6cf8a53 100644 (file)
@@ -1,5 +1,5 @@
 # serial 10
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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.
index 8f617db0d43afe00ccbfe222036fa82000eade46..e51af10310eceee6fe26aa30239ea44af0e748c9 100644 (file)
@@ -1,5 +1,5 @@
 # savedir.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 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,
index 149888df4b99eacc45aada408c6eb1b392f47c41..6afe89fda57ba4329b0d21b7f4ad38f1e3477d07 100644 (file)
@@ -1,5 +1,5 @@
 # Look up an environment variable more securely.
-dnl Copyright 2013-2014 Free Software Foundation, Inc.
+dnl Copyright 2013-2015 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.
index 1e4bcfeeecfb41fcf797230e8df6a754423e82c5..de9ea9aaa913c1019c4c2b3a4853b8bdd6107775 100644 (file)
@@ -1,5 +1,5 @@
 # serial 3   -*- Autoconf -*-
-# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2015 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.
index af0696ccc8663b26b87303f1dc03908021f0a960..fd09b299246bd3c9c04d0571a6765bf14eea16f2 100644 (file)
@@ -1,5 +1,5 @@
 # serial 5   -*- Autoconf -*-
-# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2015 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.
index 0f46a7bec02900a36437acd1a2197d26f0d4c164..3aa38d8958598a360b6f6542b561bb84c25017a3 100644 (file)
@@ -1,5 +1,5 @@
 # setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2015 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.
index c8f664fbf366249d155507424b578ef368da4934..f737c36ba829143f2b91bc594162bba1dd5d0ac3 100644 (file)
@@ -1,5 +1,5 @@
 # signal_h.m4 serial 18
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 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.
index 7e192d5e962e858295d3f066ee14a0ebce3efb85..186e3fddabf374042cb0955d29408ec49409c2f0 100644 (file)
@@ -1,5 +1,5 @@
 # size_max.m4 serial 10
-dnl Copyright (C) 2003, 2005-2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2006, 2008-2015 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.
index 2f84da578c290ce63c6f8db4110b561ca3c2485c..b789ac570a64e9666a124abf923d76ba92bee069 100644 (file)
@@ -1,5 +1,5 @@
 # sleep.m4 serial 7
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 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.
index 888db35c0b7842fe723dcb67a0bf2ab9770fac4e..8ae70050c8e5e8344e1c6c08c97114148fb423cb 100644 (file)
@@ -1,5 +1,5 @@
 # snprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2015 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.
index fbe1d0687ef555f6314a3695ce9785148f236593..25bd45143438219b005f5643c6ba793d58660708 100644 (file)
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2015 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.
index ea5c4fc5970aca217f9f988fae887002c3a31f8f..9c8ceec189396c37c2ff42e156586e7d4df4dfb5 100644 (file)
@@ -1,6 +1,6 @@
 # Checks for stat-related time functions.
 
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2014 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2015 Free Software
 # Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
index 1ae327b3684511fe1e6ab5dec7b973c13416d03e..d1b37689632086289af0be2f13ad5384472dc365 100644 (file)
@@ -1,6 +1,6 @@
 # serial 11
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 9efafe5c5b255e1b297335f6ff307881d11af05b..033b0d39e4ad60c257613ebc116835b77aa5d7c1 100644 (file)
@@ -1,6 +1,6 @@
 # Check for stdalign.h that conforms to C11.
 
-dnl Copyright 2011-2014 Free Software Foundation, Inc.
+dnl Copyright 2011-2015 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.
@@ -32,8 +32,12 @@ AC_DEFUN([gl_STDALIGN_H],
             /* Test _Alignas only on platforms where gnulib can help.  */
             #if \
                 ((defined __cplusplus && 201103 <= __cplusplus) \
-                 || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
-                 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
+                 || (defined __APPLE__ && defined __MACH__ \
+                     ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+                     : __GNUC__) \
+                 || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+                 || __ICC || 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];
index 732aa313b6aff04057f12c40975f6b57c59dee6d..d208eb35e432036cdcc09524e49d61b26071bbd0 100644 (file)
@@ -1,5 +1,5 @@
 # stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2015 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.
index 006ed52de5dc227a240dc92051b32d20bf7c324a..7273b8224658daca8ddfa4dd7ea39400d3d7185e 100644 (file)
@@ -1,6 +1,6 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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.
index c555e29524458b98a7369b58e0f5470a5ded57a2..231050274adec7b2ec70e76775c3739b3166d0bf 100644 (file)
@@ -1,6 +1,6 @@
-dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
-# stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl A placeholder for <stddef.h>, for platforms that have issues.
+# stddef_h.m4 serial 5
+dnl Copyright (C) 2009-2015 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([gl_STDDEF_H],
   AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
   AC_REQUIRE([gt_TYPE_WCHAR_T])
   STDDEF_H=
+  AC_CHECK_TYPE([max_align_t], [], [HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h],
+    [[#include <stddef.h>
+    ]])
   if test $gt_cv_c_wchar_t = no; then
     HAVE_WCHAR_T=0
     STDDEF_H=stddef.h
@@ -43,5 +46,6 @@ AC_DEFUN([gl_STDDEF_H_DEFAULTS],
 [
   dnl Assume proper GNU behavior unless another module says otherwise.
   REPLACE_NULL=0;                AC_SUBST([REPLACE_NULL])
+  HAVE_MAX_ALIGN_T=1;            AC_SUBST([HAVE_MAX_ALIGN_T])
   HAVE_WCHAR_T=1;                AC_SUBST([HAVE_WCHAR_T])
 ])
index 1981d9dbc2b5cf31781f4d43db2d520d2bc0c591..4011a4942a1abe3dc7ff22642e709b32443f13e1 100644 (file)
@@ -1,5 +1,5 @@
 # stdint.m4 serial 43
-dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2015 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.
index 7fc2ce9a83842cfc85ca1b444ff9b4a8bb126d12..5097c0b0dcbd73c847e43543d8e0848111e140a2 100644 (file)
@@ -1,5 +1,5 @@
 # stdint_h.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2015 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.
index d15913a3ca02e81bbe79791cbb783f2e7e275172..f60cc2156e00cccbbc135fd4cc3e1d4b63be3fba 100644 (file)
@@ -1,14 +1,41 @@
-# stdio_h.m4 serial 43
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# stdio_h.m4 serial 46
+dnl Copyright (C) 2007-2015 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_STDIO_H],
 [
+  dnl For __USE_MINGW_ANSI_STDIO
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   gl_NEXT_HEADERS([stdio.h])
 
+  dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and
+  dnl inttypes.h behave like gnu instead of system; we must give our
+  dnl printf wrapper the right attribute to match.
+  AC_CACHE_CHECK([which flavor of printf attribute matches inttypes macros],
+    [gl_cv_func_printf_attribute_flavor],
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+       #define __STDC_FORMAT_MACROS 1
+       #include <stdio.h>
+       #include <inttypes.h>
+       /* For non-mingw systems, compilation will trivially succeed.
+          For mingw, compilation will succeed for older mingw (system
+          printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+       #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \
+         (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+       extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+       #endif
+      ]])], [gl_cv_func_printf_attribute_flavor=system],
+      [gl_cv_func_printf_attribute_flavor=gnu])])
+  if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+    AC_DEFINE([GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU], [1],
+      [Define to 1 if printf and friends should be labeled with
+       attribute "__gnu_printf__" instead of "__printf__"])
+  fi
+
   dnl No need to create extra modules for these functions. Everyone who uses
   dnl <stdio.h> likely needs them.
   GNULIB_FSCANF=1
index 03b448b94f4ec640d1f6550a2cffbada5a658349..0b4c623ec714087a76c62302080e87b7a30a4c79 100644 (file)
@@ -1,5 +1,5 @@
 # stdlib_h.m4 serial 42
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 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.
@@ -55,6 +55,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   GNULIB_PTSNAME=0;       AC_SUBST([GNULIB_PTSNAME])
   GNULIB_PTSNAME_R=0;     AC_SUBST([GNULIB_PTSNAME_R])
   GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
+  GNULIB_QSORT_R=0;       AC_SUBST([GNULIB_QSORT_R])
   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])
@@ -107,6 +108,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   REPLACE_PTSNAME=0;         AC_SUBST([REPLACE_PTSNAME])
   REPLACE_PTSNAME_R=0;       AC_SUBST([REPLACE_PTSNAME_R])
   REPLACE_PUTENV=0;          AC_SUBST([REPLACE_PUTENV])
+  REPLACE_QSORT_R=0;         AC_SUBST([REPLACE_QSORT_R])
   REPLACE_RANDOM_R=0;        AC_SUBST([REPLACE_RANDOM_R])
   REPLACE_REALLOC=0;         AC_SUBST([REPLACE_REALLOC])
   REPLACE_REALPATH=0;        AC_SUBST([REPLACE_REALPATH])
index 966ba951f529b983b4ae4125712b7e053e0645cb..7e28beeeeef7ccdd1ab629dfbc2f948a1e215dfc 100644 (file)
@@ -1,5 +1,5 @@
 # stpcpy.m4 serial 8
-dnl Copyright (C) 2002, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007, 2009-2015 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.
index 66322b836cd6eab9cc296ca4b441ff3f721c7348..ece6722aff7062bc736cbdbc42691396ba8c7f3a 100644 (file)
@@ -1,5 +1,5 @@
 # strcase.m4 serial 11
-dnl Copyright (C) 2002, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2015 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.
index ca9c99c3e69b897f7c5f282d9d2c0f09ad1c9b24..8c3d4cf4d90afc55cf782504ed5d007beb0f1ab9 100644 (file)
@@ -1,5 +1,5 @@
 # strchrnul.m4 serial 9
-dnl Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2015 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.
index 1681a30eba91a9f715c94c8fe2f8a7baef3ad370..90ea29d22fe3819516f25791267127e5830f2add 100644 (file)
@@ -1,6 +1,6 @@
 # strdup.m4 serial 13
 
-dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index 0763fe3b4d65c366c999f11d6b85f20bbbf20bc6..75a17f2012fd8b5a5e74eac1f267ffcd3539c3d0 100644 (file)
@@ -1,5 +1,5 @@
 # strerror.m4 serial 17
-dnl Copyright (C) 2002, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007-2015 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.
index 0ba3dd074ad3cbccc1537c6c242ba946f6a34e25..4557626ae08ab8130ec420f7633eedff303160bc 100644 (file)
@@ -1,6 +1,6 @@
 # serial 33
 
-# Copyright (C) 1996-1997, 1999-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2007, 2009-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 64e683f9dc8ae56195bd6d426e1c2ff282beed5d..55d09ef407800fd5c591aeec58e7494673f983c5 100644 (file)
@@ -1,6 +1,6 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 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.
index 0eac17ca54c41d8ec9c4e3b9f9cf40faf8890b61..28b754b6ef31608120f30a0493860705ae5736e7 100644 (file)
@@ -1,7 +1,7 @@
 # Configure a replacement for <strings.h>.
 # serial 6
 
-# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2015 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.
index 55df039987ba676e6d63b1c455a1d5641f79fcc0..e6e2300dec866f7180eee794611e849cd715827c 100644 (file)
@@ -1,5 +1,5 @@
 # strndup.m4 serial 21
-dnl Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2005-2015 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.
index 94317f8a997fb650f0df6ab56e9f6f37f215da5a..5f85d3fa7dd46254fc6d9a00cd384b180478f837 100644 (file)
@@ -1,5 +1,5 @@
 # strnlen.m4 serial 13
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 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,
index 71137816f05061147be44481b91ebe4de0d1713c..fde732aa90af2200c737203bb8e2f7047d90e4c2 100644 (file)
@@ -1,5 +1,5 @@
 # strtoimax.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006, 2009-2015 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.
index 9dd454689767a8b902dcfa0fa3ced4bca87acb79..e100efde7eead89ac65962b711c63d0d5684a201 100644 (file)
@@ -1,5 +1,5 @@
 # strtol.m4 serial 6
-dnl Copyright (C) 2002-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2006, 2009-2015 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.
index 9f2a1777b39890afd9aaae627fa349ffdeb9c6b1..666f44a6ba25f1ae99d6a2f58d264ca051cd3a89 100644 (file)
@@ -1,5 +1,5 @@
 # strtoll.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2008-2015 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.
index c7c0d246450d3c92c8226be85bf320697281beb6..5ae76dd8325ec61d65d0b629a78dfb6ff1de0aca 100644 (file)
@@ -1,5 +1,5 @@
 # strtoul.m4 serial 5
-dnl Copyright (C) 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2006, 2009-2015 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.
index f4d5f61660aa1356175ae96aaf167aad728a0ee9..4267bd72569737c69e0840f31a00d1e6849bcc76 100644 (file)
@@ -1,5 +1,5 @@
 # strtoull.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2008-2015 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.
index fc582fcf44660b03558478018856eb7612c67e3c..5312ef4d5180604e49108fdcc194d7a8c5a87ca1 100644 (file)
@@ -1,5 +1,5 @@
 # strtoumax.m4 serial 12
-dnl Copyright (C) 2002-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006, 2009-2015 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.
index de4924b431ad2d8616c3e3277500993cdee5f1ad..a59e2f0dd72dc3e42cdfcfd24c197cb6e7ef723e 100644 (file)
@@ -1,7 +1,7 @@
 # serial 6
 # See if we need to provide symlink replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index db7ad487dd8b3db8c601cf169f2d946dbe312e4f..fd975c89e09461cd2cf49f88b1b4840c3cdcad65 100644 (file)
@@ -1,7 +1,7 @@
-# serial 5
+# serial 6
 # See if we need to provide symlinkat replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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,5 +16,38 @@ AC_DEFUN([gl_FUNC_SYMLINKAT],
   AC_CHECK_FUNCS_ONCE([symlinkat])
   if test $ac_cv_func_symlinkat = no; then
     HAVE_SYMLINKAT=0
+  else
+    AC_CACHE_CHECK([whether symlinkat handles trailing slash correctly],
+      [gl_cv_func_symlinkat_works],
+      [AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+           [[#include <fcntl.h>
+             #include <unistd.h>
+           ]],
+           [[int result = 0;
+             if (!symlinkat ("a", AT_FDCWD, "conftest.link/"))
+               result |= 1;
+             if (symlinkat ("conftest.f", AT_FDCWD, "conftest.lnk2"))
+               result |= 2;
+             else if (!symlinkat ("a", AT_FDCWD, "conftest.lnk2/"))
+               result |= 4;
+             return result;
+           ]])],
+         [gl_cv_func_symlinkat_works=yes],
+         [gl_cv_func_symlinkat_works=no],
+         [case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_symlinkat_works="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_symlinkat_works="guessing no" ;;
+          esac
+         ])
+      rm -f conftest.f conftest.link conftest.lnk2])
+    case "$gl_cv_func_symlinkat_works" in
+      *yes) ;;
+      *)
+        REPLACE_SYMLINKAT=1
+        ;;
+    esac
   fi
 ])
index 114d828172a919e23ed517ccb7004617ddc686c8..eaeabe7d966ea969fceed76f2a3afbcb2dca091f 100644 (file)
@@ -1,5 +1,5 @@
 # sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2015 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.
index eaa7642ba311bd74570887f5a8d6b9bead70a9b2..6c909e816a7444f62d8ce81c8da9bff886f27018 100644 (file)
@@ -1,5 +1,5 @@
 # sys_stat_h.m4 serial 28   -*- Autoconf -*-
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 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.
index 5c79300f8ec66e55a7b7a35eca0f0bcac22b8912..28c8b1acbbaca7341f0de92fec1c26d0b90cdbdd 100644 (file)
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/time.h>.
 # serial 8
 
-# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2015 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.
@@ -105,6 +105,7 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS],
   HAVE_GETTIMEOFDAY=1;       AC_SUBST([HAVE_GETTIMEOFDAY])
   HAVE_STRUCT_TIMEVAL=1;     AC_SUBST([HAVE_STRUCT_TIMEVAL])
   HAVE_SYS_TIME_H=1;         AC_SUBST([HAVE_SYS_TIME_H])
+  HAVE_TIMEZONE_T=0;         AC_SUBST([HAVE_TIMEZONE_T])
   REPLACE_GETTIMEOFDAY=0;    AC_SUBST([REPLACE_GETTIMEOFDAY])
   REPLACE_STRUCT_TIMEVAL=0;  AC_SUBST([REPLACE_STRUCT_TIMEVAL])
 ])
index 9748905b5986ad97c588567c525987ae8472a84d..2232aece63ec0f4d42469f3885ea211f8ff9d51b 100644 (file)
@@ -1,5 +1,5 @@
 # sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 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.
index e2b0450bf17fd71899ca0ba05a6f4f0967956e8d..7798c693f8fefb0e727d7f4e56ba9c0e77c451ce 100644 (file)
@@ -1,5 +1,5 @@
 # sysexits.m4 serial 6
-dnl Copyright (C) 2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005, 2007, 2009-2015 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.
index 1594e1f5d0494af537062782dc209f34ddfda682..b1694d68475dadf8aff0e9950d0282759278dd10 100644 (file)
@@ -1,6 +1,6 @@
 #serial 5
 
-# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2015 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.
index 9852778f9a5db376afbc8b2174cfc67ef96cc01a..754b469a0d9c2b7cc20e7f19cc330491720d8dbb 100644 (file)
@@ -1,8 +1,8 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
 
-# serial 8
+# serial 9
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -26,7 +26,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
 ])
 
 dnl Check whether 'struct timespec' is declared
-dnl in time.h, sys/time.h, or pthread.h.
+dnl in time.h, sys/time.h, pthread.h, or unistd.h.
 
 AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
 [
@@ -44,6 +44,7 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
   TIME_H_DEFINES_STRUCT_TIMESPEC=0
   SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
   PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+  UNISTD_H_DEFINES_STRUCT_TIMESPEC=0
   if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
     TIME_H_DEFINES_STRUCT_TIMESPEC=1
   else
@@ -70,12 +71,26 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
            [gl_cv_sys_struct_timespec_in_pthread_h=no])])
       if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
         PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+      else
+        AC_CACHE_CHECK([for struct timespec in <unistd.h>],
+          [gl_cv_sys_struct_timespec_in_unistd_h],
+          [AC_COMPILE_IFELSE(
+             [AC_LANG_PROGRAM(
+                [[#include <unistd.h>
+                ]],
+                [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+             [gl_cv_sys_struct_timespec_in_unistd_h=yes],
+             [gl_cv_sys_struct_timespec_in_unistd_h=no])])
+        if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then
+          UNISTD_H_DEFINES_STRUCT_TIMESPEC=1
+        fi
       fi
     fi
   fi
   AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
   AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
   AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+  AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC])
 ])
 
 AC_DEFUN([gl_TIME_MODULE_INDICATOR],
@@ -94,6 +109,7 @@ AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
   GNULIB_STRPTIME=0;                     AC_SUBST([GNULIB_STRPTIME])
   GNULIB_TIMEGM=0;                       AC_SUBST([GNULIB_TIMEGM])
   GNULIB_TIME_R=0;                       AC_SUBST([GNULIB_TIME_R])
+  GNULIB_TIME_RZ=0;                      AC_SUBST([GNULIB_TIME_RZ])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DECL_LOCALTIME_R=1;               AC_SUBST([HAVE_DECL_LOCALTIME_R])
   HAVE_NANOSLEEP=1;                      AC_SUBST([HAVE_NANOSLEEP])
index 7e15600f7b60f76850bfe0d057d1e5c26d1d18ff..8df7e139cf2efa043b12f8726cf7dbb65375917e 100644 (file)
@@ -1,6 +1,6 @@
 dnl Reentrant time functions: localtime_r, gmtime_r.
 
-dnl Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006-2015 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/time_rz.m4 b/m4/time_rz.m4
new file mode 100644 (file)
index 0000000..0c1f2c3
--- /dev/null
@@ -0,0 +1,21 @@
+dnl Time zone functions: tzalloc, localtime_rz, etc.
+
+dnl Copyright (C) 2015 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 Paul Eggert.
+
+AC_DEFUN([gl_TIME_RZ],
+[
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS])
+  AC_REQUIRE([AC_STRUCT_TIMEZONE])
+  AC_CHECK_FUNCS_ONCE([tzset])
+
+  AC_CHECK_TYPES([timezone_t], [], [], [[#include <time.h>]])
+  if test "$ac_cv_type_timezone_t" = yes; then
+    HAVE_TIMEZONE_T=1
+  fi
+])
diff --git a/m4/timegm.m4 b/m4/timegm.m4
new file mode 100644 (file)
index 0000000..8e68b99
--- /dev/null
@@ -0,0 +1,26 @@
+# timegm.m4 serial 11
+dnl Copyright (C) 2003, 2007, 2009-2015 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_TIMEGM],
+[
+  AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
+  AC_REQUIRE([gl_FUNC_MKTIME])
+  REPLACE_TIMEGM=0
+  AC_CHECK_FUNCS_ONCE([timegm])
+  if test $ac_cv_func_timegm = yes; then
+    if test $gl_cv_func_working_mktime = no; then
+      # Assume that timegm is buggy if mktime is.
+      REPLACE_TIMEGM=1
+    fi
+  else
+    HAVE_TIMEGM=0
+  fi
+])
+
+# Prerequisites of lib/timegm.c.
+AC_DEFUN([gl_PREREQ_TIMEGM], [
+  :
+])
index 2ce654fe80478edde5eb0a11b10d53c8bdc4b0bc..06b3533e42f653087b0795efc7e364f997b0765d 100644 (file)
@@ -1,6 +1,6 @@
 #serial 15
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 486351b477a348baf5d01ab3ba9a61a2ef5264e2..71a88f92f49d876f9e102f1106f43bff33446211 100644 (file)
@@ -1,5 +1,5 @@
 # tm_gmtoff.m4 serial 3
-dnl Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2015 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/ulonglong.m4 b/m4/ulonglong.m4
new file mode 100644 (file)
index 0000000..9fae98e
--- /dev/null
@@ -0,0 +1,48 @@
+# ulonglong.m4 serial 6
+dnl Copyright (C) 1999-2006 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 Paul Eggert.
+
+# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
+# This fixes a bug in Autoconf 2.60, but can be removed once we
+# assume 2.61 everywhere.
+
+# Note: If the type 'unsigned long long int' exists but is only 32 bits
+# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
+# will not be defined. In this case you can treat 'unsigned long long int'
+# like 'unsigned long int'.
+
+AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
+[
+  AC_CACHE_CHECK([for unsigned long long int],
+    [ac_cv_type_unsigned_long_long_int],
+    [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+         [[unsigned long long int ull = 18446744073709551615ULL;
+           typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1
+                          ? 1 : -1)];
+          int i = 63;]],
+         [[unsigned long long int ullmax = 18446744073709551615ull;
+           return (ull << 63 | ull >> 63 | ull << i | ull >> i
+                   | ullmax / ull | ullmax % ull);]])],
+       [ac_cv_type_unsigned_long_long_int=yes],
+       [ac_cv_type_unsigned_long_long_int=no])])
+  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'.])
+  fi
+])
+
+# This macro is obsolescent and should go away soon.
+AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG],
+[
+  AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
+  ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int
+  if test $ac_cv_type_unsigned_long_long = yes; then
+    AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
+      [Define if you have the 'unsigned long long' type.])
+  fi
+])
index 96cb7df7d55495bacdb949d37b42149e3a2e0217..006bba245bb1003443f23495385cfef1461cfb3d 100644 (file)
@@ -1,5 +1,5 @@
 #serial 9
-dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2015 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.
index 1fa197e6943f8e9335c9c14d48ddb203f895f591..b3c581f7b25e6efc72480e758356f2c39b02e2c1 100644 (file)
@@ -1,5 +1,5 @@
-# unistd_h.m4 serial 67
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# unistd_h.m4 serial 68
+dnl Copyright (C) 2006-2015 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.
@@ -173,9 +173,11 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   REPLACE_PWRITE=0;       AC_SUBST([REPLACE_PWRITE])
   REPLACE_READ=0;         AC_SUBST([REPLACE_READ])
   REPLACE_READLINK=0;     AC_SUBST([REPLACE_READLINK])
+  REPLACE_READLINKAT=0;   AC_SUBST([REPLACE_READLINKAT])
   REPLACE_RMDIR=0;        AC_SUBST([REPLACE_RMDIR])
   REPLACE_SLEEP=0;        AC_SUBST([REPLACE_SLEEP])
   REPLACE_SYMLINK=0;      AC_SUBST([REPLACE_SYMLINK])
+  REPLACE_SYMLINKAT=0;    AC_SUBST([REPLACE_SYMLINKAT])
   REPLACE_TTYNAME_R=0;    AC_SUBST([REPLACE_TTYNAME_R])
   REPLACE_UNLINK=0;       AC_SUBST([REPLACE_UNLINK])
   REPLACE_UNLINKAT=0;     AC_SUBST([REPLACE_UNLINKAT])
index 03cf8ae0b1780d9ae06a5029049bf3656d3de51e..094d69a0ba0604198d577e94a3cc9f01d4073f33 100644 (file)
@@ -1,5 +1,5 @@
 # unlink.m4 serial 11
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index f5110aaa0828d04187f7e6a1294b093bf8a02fe9..be70c4fefc6f9b9b64264618ccdacb04e5fbd892 100644 (file)
@@ -1,5 +1,5 @@
 # unlinkat.m4 serial 2
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2015 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.
@@ -24,6 +24,7 @@ AC_DEFUN([gl_FUNC_UNLINKAT],
         ;;
       *)
         # GNU/Hurd has unlinkat, but it has the same bug as unlink.
+        # Darwin has unlinkat, but it has the same UNLINK_PARENT_BUG.
         if test $REPLACE_UNLINK = 1; then
           REPLACE_UNLINKAT=1
         fi
index 99797af54e7ba854dee4369344f71996154028da..964cc76b98a6df53b1bb1dd643f629ace51b4e4e 100644 (file)
@@ -1,6 +1,6 @@
 # serial 7
 
-# Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 6a1dec27825fd05440e544060f73664589bff9c0..e5a6f43431ee9115fbc967030bf45d2c52a392a5 100644 (file)
@@ -1,6 +1,6 @@
 # unlocked-io.m4 serial 15
 
-# Copyright (C) 1998-2006, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2006, 2009-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 822a063ce013d04b050586018108257f0ffadf01..7c33ae9492398cca1ea046f22563d72b35b3710a 100644 (file)
@@ -1,6 +1,6 @@
 # serial 9
 
-# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
+# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2015 Free Software Foundation,
 # Inc.
 #
 # This file is free software; the Free Software Foundation
index c9c44cf246209ff01c1a990a532defbdba1eadb4..b022cfdc8576314e8d0502d76503f9e34ab998e6 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2003-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2015 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.
index 9cb97c9854796319c71366c46f5620e26fc51d04..9a80fa06bd4356832b09cf0d8428714cc875748c 100644 (file)
@@ -1,7 +1,7 @@
 # serial 5
 # See if we need to provide utimensat replacement.
 
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 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.
index c36135785e67ba18991a1bca69d48d114efa3e5c..e26a576b82052a8076804d9fa289c910b73e0b1e 100644 (file)
@@ -1,7 +1,7 @@
 # Detect some bugs in glibc's implementation of utimes.
 # serial 3
 
-dnl Copyright (C) 2003-2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2009-2015 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.
index 106192ea2fd7a06f6d77022874959a48287aa43b..4708f2b8e296b5f89662265ff55c05dd0fc0dc7e 100644 (file)
@@ -1,5 +1,5 @@
 # vasnprintf.m4 serial 36
-dnl Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006-2015 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.
index c76c99c3b14cd93e874da0024d1b5a32440ac712..b785dc328990d1904248ff3e5b5b8ff6d2e4ba85 100644 (file)
@@ -1,5 +1,5 @@
 # vasprintf.m4 serial 6
-dnl Copyright (C) 2002-2003, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2006-2007, 2009-2015 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,
index 667f9f82d94f1bf371079f4e80ccbc5e761eb54a..a87ac98039cc3f392a5058867dc16dc809f41cc8 100644 (file)
@@ -1,5 +1,5 @@
 # version-etc.m4 serial 1
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 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.
index 07f739df9378e2a634529b77995618e7aa249b35..28be6fd18622f40dd778ffc4a10af5f339dc9183 100644 (file)
@@ -1,5 +1,5 @@
 # vsnprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2015 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.
index cc690f8e2cb766766a4b14628e71e70420cd955a..1e98dc9b77512ecd0b479afdf7516397ad0616cc 100644 (file)
@@ -1,5 +1,5 @@
 # warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 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.
index 43156f450066369b17991bdd7520843457fdcb90..5ae01def133fb451019e908a8056aff7b4988e7e 100644 (file)
@@ -1,5 +1,5 @@
 # warnings.m4 serial 11
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 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.
index 85db95286b073f452ddcd9380cc26a1fe7b6b31c..9d1b0f8b6d2f51f63c7caac9285b5ce626f610d8 100644 (file)
@@ -1,6 +1,6 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 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.
index 839a04c17c34f4fb0b22ef1e18465fd271e3d806..dc964e67e261d0166afb14b4dcb45872d6b114fd 100644 (file)
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2015 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.
index 844ef6a8c3e8e9952c4ecd6b9511cdaf257808d5..7e3fe3f54c67379f1038eaa30f17af6122253168 100644 (file)
@@ -1,5 +1,5 @@
 # wcrtomb.m4 serial 11
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 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.
index 3fac0ee099d1b1bc2918d843e77b2b5e352da1e3..95a4705b0e74cdbd9bcfd5633c499a529a40cf71 100644 (file)
@@ -2,7 +2,7 @@
 
 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
 
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 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.
index f00a6cca533882881fccbc15749eda7cc5a2955f..b11dc8db78795a2c51f55524c37ff30f50ffa295 100644 (file)
@@ -1,5 +1,5 @@
 # wcwidth.m4 serial 23
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 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.
index 9b07b07090054edd2a4340698be18b2bbc0b7a7e..ca3fd449a14ec3127a14070cbdb76b8db44225e7 100644 (file)
@@ -1,5 +1,5 @@
 # wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2015 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.
index 820dd4f77cfc4df7f19d6a9a9a9cbbbfccdd2e5b..ce7042ef1b3c924108275e9eddf809962666d20e 100644 (file)
@@ -1,5 +1,5 @@
 # write.m4 serial 5
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 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.
index b6a2257befa85b9b9e593f13a4666d08c5d5a77f..6dfcab3c90888509397f64989d97c8132c202d4d 100644 (file)
@@ -1,5 +1,5 @@
 # xalloc.m4 serial 18
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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.
index c6057fdc6e99af6bf346fb754686e504c7893d74..968e9fd527661888ad362f49c80f61c8aea44fad 100644 (file)
@@ -1,5 +1,5 @@
 #serial 8
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 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.
index 3af23ec75b85d278ad64a47daf318ecb74fc0413..98faf7de0b27391e10c9dd6a792f46457f84f6e3 100644 (file)
@@ -1,5 +1,5 @@
 # xsize.m4 serial 5
-dnl Copyright (C) 2003-2004, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2004, 2008-2015 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.
index 8521f0ed5f93a5cdcc54385671fc576cbbed646f..296603be23126a6ddd8b07a84eea2a87d3bd5f5c 100644 (file)
@@ -1,5 +1,5 @@
 # xstrndup.m4 serial 2
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2015 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.
index 03419d8143019e5f56c9adea24000b024da5c976..fa6a2735ebedcd5577b5db8733aee42581d96acf 100644 (file)
@@ -1,5 +1,5 @@
 #serial 11
-dnl Copyright (C) 2002-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2007, 2009-2015 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.
index c2d3ec7fe68504fd6006aaa9e8634b8eac39b748..715609a272ef3fe397e218bcd933b95de48d6d01 100644 (file)
@@ -1,5 +1,5 @@
 # xvasprintf.m4 serial 2
-dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2015 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.
index 82c71eb9d28445b4703fb2dd5e29b7e9513d229c..c36f1ad26d20d420b26ed318f39be8316a333ec0 100644 (file)
@@ -1,21 +1,19 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
 # Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 #
-# This file can be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
 #
-# Origin: gettext-0.16
+# Origin: gettext-0.19.5
+GETTEXT_MACRO_VERSION = 0.19
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 
+SED = @SED@
 SHELL = /bin/sh
 @SET_MAKE@
 
@@ -77,6 +75,16 @@ POTFILES = \
 
 CATALOGS = @CATALOGS@
 
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
 # Makevars gets inserted here. (Don't remove this line!)
 
 .SUFFIXES:
@@ -89,8 +97,8 @@ CATALOGS = @CATALOGS@
 .po.gmo:
        @lang=`echo $* | sed -e 's,.*/,,'`; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
-       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
 
 .sin.sed:
        sed -e '/^#/d' $< > t-$@
@@ -102,6 +110,13 @@ all: all-@USE_NLS@
 all-yes: stamp-po
 all-no:
 
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+       test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+         || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+              exit 1; \
+            }
+
 # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
 # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
 # we don't want to bother translators with empty POT files). We assume that
@@ -117,6 +132,7 @@ all-no:
 # $(POFILES) has been designed to not touch files that don't need to be
 # changed.
 stamp-po: $(srcdir)/$(DOMAIN).pot
+       @$(CHECK_MACRO_VERSION)
        test ! -f $(srcdir)/$(DOMAIN).pot || \
          test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
        @test ! -f $(srcdir)/$(DOMAIN).pot || { \
@@ -131,17 +147,53 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
 
 # This target rebuilds $(DOMAIN).pot; it is an expensive operation.
 # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
 $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+       package_gnu="$(PACKAGE_GNU)"; \
+       test -n "$$package_gnu" || { \
+         if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+                LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+                              -size -10000000c -exec grep 'GNU @PACKAGE@' \
+                              /dev/null '{}' ';' 2>/dev/null; \
+              else \
+                LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+              fi; \
+            } | grep -v 'libtool:' >/dev/null; then \
+            package_gnu=yes; \
+          else \
+            package_gnu=no; \
+          fi; \
+       }; \
+       if test "$$package_gnu" = "yes"; then \
+         package_prefix='GNU '; \
+       else \
+         package_prefix=''; \
+       fi; \
        if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
          msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
        else \
          msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
        fi; \
-       $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-         --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
-         --files-from=$(srcdir)/POTFILES.in \
-         --copyright-holder='$(COPYRIGHT_HOLDER)' \
-         --msgid-bugs-address="$$msgid_bugs_address"
+       case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+         '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+           $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+             --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+             --files-from=$(srcdir)/POTFILES.in \
+             --copyright-holder='$(COPYRIGHT_HOLDER)' \
+             --msgid-bugs-address="$$msgid_bugs_address" \
+           ;; \
+         *) \
+           $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+             --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+             --files-from=$(srcdir)/POTFILES.in \
+             --copyright-holder='$(COPYRIGHT_HOLDER)' \
+             --package-name="$${package_prefix}@PACKAGE@" \
+             --package-version='@VERSION@' \
+             --msgid-bugs-address="$$msgid_bugs_address" \
+           ;; \
+       esac
        test ! -f $(DOMAIN).po || { \
          if test -f $(srcdir)/$(DOMAIN).pot; then \
            sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
@@ -165,12 +217,20 @@ $(srcdir)/$(DOMAIN).pot:
 
 # This target rebuilds a PO file if $(DOMAIN).pot has changed.
 # Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
+$(POFILES): $(POFILESDEPS)
        @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
        if test -f "$(srcdir)/$${lang}.po"; then \
+         test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
          test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-         echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
-         cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+         cd $(srcdir) \
+           && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+                  *) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+                esac; \
+              }; \
        else \
          $(MAKE) $${lang}.po-create; \
        fi
@@ -193,7 +253,6 @@ install-data: install-data-@USE_NLS@
        fi
 install-data-no: all
 install-data-yes: all
-       $(mkdir_p) $(DESTDIR)$(datadir)
        @catalogs='$(CATALOGS)'; \
        for cat in $$catalogs; do \
          cat=`basename $$cat`; \
@@ -245,7 +304,6 @@ installdirs-data: installdirs-data-@USE_NLS@
        fi
 installdirs-data-no:
 installdirs-data-yes:
-       $(mkdir_p) $(DESTDIR)$(datadir)
        @catalogs='$(CATALOGS)'; \
        for cat in $$catalogs; do \
          cat=`basename $$cat`; \
@@ -323,7 +381,7 @@ maintainer-clean: distclean
 
 distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
 dist distdir:
-       $(MAKE) update-po
+       test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
        @$(MAKE) dist2
 # This is a separate target because 'update-po' must be executed before.
 dist2: stamp-po $(DISTFILES)
@@ -371,9 +429,15 @@ update-po: Makefile
        tmpdir=`pwd`; \
        echo "$$lang:"; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
        cd $(srcdir); \
-       if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+       if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+              *) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+            esac; \
+          }; then \
          if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
            rm -f $$tmpdir/$$lang.new.po; \
          else \
@@ -394,9 +458,13 @@ $(DUMMYPOFILES):
 update-gmo: Makefile $(GMOFILES)
        @:
 
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
 Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
        cd $(top_builddir) \
-         && $(SHELL) ./config.status $(subdir)/$@.in po-directories
+         && @SHELL@ ./config.status $(subdir)/$@.in po-directories
 
 force:
 
index 6694b1cd096c872d50f56f063d1ee73057dfd48c..27b4a95457867a322dac04984add7163334b8f87 100644 (file)
@@ -1,5 +1,3 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
 # Makefile variables for PO directory in any package using GNU gettext.
 
 # Usually the message domain is the same as the package name.
index d5439adcdb03b658dfe7be2443c3f7f4834421d2..6a14c17e386c0b1d68b3f841b205fd1ef10f4a97 100644 (file)
@@ -1,7 +1,7 @@
 # List of files which contain translatable strings.
 
-# Copyright 1996, 1999-2000, 2003-2005, 2007, 2013-2014 Free Software
-# Foundation, Inc.
+# Copyright 1996, 1999-2000, 2003-2005, 2007, 2013-2014, 2016 Free
+# Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index fc07246f0b93066b0815b667cfddc50b9bc66dfe..e3795a4b653271ce90e09bd0075aa4bec90fffa2 100644 (file)
Binary files a/po/bg.gmo and b/po/bg.gmo differ
index fbb4ae2bd548813dd175c1ecde11da3b1c21508b..8a02bd06d03d1c07f5080c368e0ee66129b43f5f 100644 (file)
--- 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:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.16\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2006-11-23 22:40+0200\n"
 "Last-Translator: Anton Zinoviev <zinoviev@debian.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -24,46 +24,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "неправилен аргумент %s за %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "двусмислен аргумент %s за %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Допустими аргументи са:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: параметърът ARGP_HELP_FMT изисква стойност"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: параметърът ARGP_HELP_FMT трябва да бъде положителен"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: непознат параметър ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Боклук в ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -71,145 +71,150 @@ msgstr ""
 "Аргументите, задължителните или незадължителни за дългите опции, са "
 "съответно задължителни или незадължителни и за кратките опции."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Използване:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  или: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [ОПЦИЯ...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 "Съобщавайте за програмни грешки на %s.\n"
 "За грешки в българския превод на <dict@fsa-bg.org>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Непозната системна грешка"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "показва тази справка"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "показва кратко съобщение за използването"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "ИМЕ"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "посочва името на програмата"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "СЕК"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "спира за СЕК секунди (подразбира се 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "показва версията на програмата"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Не е известна версията!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Твърде много аргументи\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Опцията би трябвало да е била разпозната!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: опцията „%s“ е двусмислена\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: опцията „-W %s“ е двусмислена\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, fuzzy, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: опцията „--%s“ не допуска аргумент\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, fuzzy, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: опцията „%c%s“ не допуска аргумент\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: опцията „%s“ изисква аргумент\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: непозната опция „--%s“\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: непозната опция „%c%s“\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: неправилна опция -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: опцията изисква аргумент -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, fuzzy, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: опцията „-W %s“ е двусмислена\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, fuzzy, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: опцията „-W %s“ не допуска аргумент\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: опцията „%s“ изисква аргумент\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "паметта е изчерпана"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Не може да се смени работният каталог"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Не може да се запази работният каталог"
@@ -235,11 +240,11 @@ msgstr "Не може да се запази работният каталог"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "„"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "“"
 
@@ -249,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[дДoOyY]"
 
@@ -259,16 +264,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[нНkKnN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -276,11 +281,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -291,19 +296,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -311,7 +316,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -321,7 +326,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -331,7 +336,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -341,7 +346,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -351,7 +356,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -362,7 +367,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -373,7 +378,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -385,7 +390,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -394,24 +399,24 @@ msgstr ""
 "Съобщавайте за програмни грешки на %s.\n"
 "За грешки в българския превод на <dict@fsa-bg.org>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 "Съобщавайте за програмни грешки на %s.\n"
 "За грешки в българския превод на <dict@fsa-bg.org>.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -585,8 +590,8 @@ msgstr "Неочакван EOF"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "N"
 
@@ -594,10 +599,11 @@ msgstr "N"
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "ФАЙЛ"
 
@@ -610,7 +616,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "Не може да се отвори „%s“"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "твърде много аргументи"
@@ -619,113 +625,113 @@ msgstr "твърде много аргументи"
 msgid "Garbage command"
 msgstr "Непозната команда"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Това не прилича на tar-архив"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Общо прочетени байтове"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Общо записани байтове"
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Общо изтрити байтове: %s\n"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Неправилна стойност на record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Не е посочено име на архив"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Не може да се проверяват архиви на стандартните вход/изход"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архивът е компресиран.  Използвайте опцията %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Не може да се актуализират компресирани архиви"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "В началото на лентата, край на изпълнението"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Твърде много грешки, край на изпълнението"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Размер на записа = %lu блок"
 msgstr[1] "Размер на записа = %lu блока"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Невъзможно е връщане назад в архивния файл; той може да е нечитаем без опция "
 "-i"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek не завърши при граница на запис"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: съдържа неправилен номер на том"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Препълване на номера на том"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Подгответе том №%d за %s и натиснете return: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "EOF, когато се очакваше отговор от потребителя"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "ВНИМАНИЕ: Архивът е незавършен"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -737,66 +743,66 @@ msgstr ""
 " q             Прекратява tar\n"
 " y или return  Продължава изпълнението\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Поражда вторична командна обвивка\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Извежда този списък\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Няма повече томове; изход.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Не е посочено име на файл.  Опитайте отново.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Неправилна команда.  Използвайте ? за справка.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "командата %s не успя"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s не продължава с този том"
+
+#: src/buffer.c:1523
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s вероятно продължава в този том: заглавният запис съдържа отрязано име"
 
-#: src/buffer.c:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s не продължава с този том"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s е грешен размер (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Този том е извън поредицата"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Архивът не е етикетиран да отговаря на %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Томът %s не съответства на %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -804,7 +810,7 @@ msgstr ""
 "%s: името на файла е твърде дълго, за да се побере в заглавен запис на "
 "многотомен ГНУ-архив и бе съкратено"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 #, fuzzy
 msgid "write did not end on a block boundary"
 msgstr "EOF на архив %s не е на границата на блок"
@@ -816,20 +822,20 @@ msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Само %lu от %lu байт можаха да се прочетат"
 msgstr[1] "Само %lu от %lu байта можаха да се прочетат"
 
-#: src/compare.c:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Съдържанието се различава"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Неочакван знак за край (EOF) в архива"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Файловите типове се различават"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Режимите за достъп се различават"
 
@@ -845,7 +851,7 @@ msgstr "Групите се различават"
 msgid "Mod time differs"
 msgstr "Времената на промяна се различават"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Размерите се различават"
 
@@ -854,142 +860,142 @@ msgstr "Размерите се различават"
 msgid "Not linked to %s"
 msgstr "Не е свързан с %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Символните връзки се различават"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Номерата на устройство се различават"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Проверка"
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Непознат файлов тип „%c“, сравнява се като обикновен файл"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Архивът съдържа файлови имена, с отстранени префикси."
 
-#: src/compare.c:535
+#: src/compare.c:539
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Проверката може и да не открие оригиналните файлове."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Изолиран блок от нули при %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, fuzzy, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: каталогът е обозначен като кеш; не се архивира"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr ""
 "стойността на %s е извън границите %s на диапазона %s..%s; замества се с %s"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "стойността %s е извън границите %s на диапазона %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Генерират се отрицателни осмични заглавни записи"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: файловото име е твърде дълго (максимум %d); не е архивирано"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: файловото име е твърде дълго (не може да се раздели); не е архивирано"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: името на символната връзка е твърде дълго; не е архивирано"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файлът е в друга файлова система; не се архивира"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Непознат файлов тип; файлът се пренебрегва"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "Неархивирани връзки с %s.\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: файлът не е променен; не се архивира"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: файлът е архив; не се архивира"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: каталогът е обозначен като кеш; не се архивира"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: файлът бе изменен по време на четене"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: гнездото се пренебрегва"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: пренебрегва се специалният файл тип door"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Пропуска се до следващия заглавен запис"
 
@@ -1007,55 +1013,55 @@ msgstr "%s: записано е невероятно старо време %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: записано е време %s, което е %s сек. в бъдещето"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Неочаквана несъгласуваност при създаване на каталог"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr ""
 "%s: каталогът бе преименуван преди да може да се извлече състоянието му"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Продължаващи файлове се извличат като обикновени файлове"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Опитва се извличането на символни връзки като твърди"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Не може да се извлича -- файлът продължава с друг том"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Неочаквано дълъг заглавен запис"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Непознат файлов тип „%c“, извлича се като обикновен файл"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Текущият %s е по-нов или със същата възраст"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Не можа да се направи резервно копие на този файл"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Бе невъзможно %s да се преименува на %s"
@@ -1106,129 +1112,130 @@ msgstr "Неправилен номер на i-възел"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Неочакван край на snapshot-файл"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Липсва завършител на записа"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Грешен инкрементален файлов формат"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Неподдържана версия на инкрементален формат: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Лошо формиран dumpdir: очаква се „%c“, а вместо това има %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Лошо формиран dumpdir: „X“ е дублиран"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Лошо формиран dumpdir: празно име в „R“"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Лошо формиран dumpdir: „T“ не се предхожда от „R“"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Лошо формиран dumpdir: празно име в „T“"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Лошо формиран dumpdir: очаква се „%c“, вместо това данните свършват"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Лошо формиран dumpdir: „X“ никога не се използва"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Не може да се създаде временен каталог, използвайки шаблона %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Каталогът не се изчиства: не може да се достъпи"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: каталогът е на друго устройство: не се изчиства"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Изтрива се %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Не може да се изтрие"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Пропуска се"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** Блок от знаци NUL **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Край на файла **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1236,88 +1243,88 @@ msgstr ""
 "е допълнение до две"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Осмичната стойност %.*s в архива е извън диапазона за %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 "Архивът е подписан с низ по модул 64 %s, който е е извън диапазона за %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Стойността %s в архива е извън допустимия диапазон за %s (%s..%s)"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " връзка към %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " непознат файлов тип %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Дълга връзка--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Дълго име--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Заглавен запис на тома--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Продължава при байт %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Създава се каталог:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Преименува се %s на %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Не може да се преименува на %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Преименува се %s обратно на %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Файлът бе изтрит преди да бъде прочетен"
@@ -1330,77 +1337,240 @@ msgstr "породен процес"
 msgid "interprocess channel"
 msgstr "междупроцесен канал"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Избор на локален файл:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+"добавя посочения ФАЙЛ към архива (полезно е, ако името му започва с минус)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "КАТ"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "работи в каталога КАТ"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "взема имената за извличане или създаване от ФАЙЛ"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T чете имена, завършващи с нулев байт"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+#, fuzzy
+msgid "unquote input file or member names (default)"
+msgstr "декодира „\\“ във файловите имена на -T (подразб.)"
+
+#: src/names.c:84
+#, fuzzy
+msgid "do not unquote input file or member names"
+msgstr "не декодира „\\“ във файловите имена на -T"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "ОБРАЗЕЦ"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "без файловете, отговарящи на ОБРАЗЕЦ"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "пропуска файловете, отговарящи на образци в ФАЙЛ"
+
+#: src/names.c:95
+#, fuzzy
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr "без каталози, обозначени като кеширащи"
+
+#: src/names.c:98
+#, fuzzy
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "без каталози, обозначени като кеширащи"
+
+#: src/names.c:101
+#, fuzzy
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "без каталози, обозначени като кеширащи"
+
+#: src/names.c:103
+#, fuzzy
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "без каталози, обозначени като кеширащи"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+#, fuzzy
+msgid "exclude everything under directories containing FILE"
+msgstr "без каталози, обозначени като кеширащи"
+
+#: src/names.c:114
+#, fuzzy
+msgid "exclude directories containing FILE"
+msgstr "без каталози, обозначени като кеширащи"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "влиза рекурсивно в подкаталозите (подразбира се)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "без автоматично влизане в подкаталозите"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"Съпоставяне с файлови имена (влияе и на включващи, и на изключващи образци):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "съпоставянето с образците започва от началото на файловото име"
+
+#: src/names.c:134
+#, fuzzy
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "съпоставянето започва след кой да е „/“ (подразбира се при изключване)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "пренебрегва разликата между големи/малки букви"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "отчита се разликата между малки и големи букви (подразбира се)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "ползва „*“ и „?“ (подразбира се за изключване)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "дословно низово сравнение"
+
+#: src/names.c:144
+#, fuzzy
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "„/“ пасва с „*“ и „?“ (подразб. за изключване)"
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "„/“ не пасва с „*“ и „?“"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "командата %s не успя"
 
-#: src/names.c:378
+#: src/names.c:786
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: файловият списък вече е прочетен"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "не може да се смени времето на „%s“"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: файловото име съдържа нулев байт"
 
-#: src/names.c:824
+#: src/names.c:1242
 #, fuzzy
 msgid "Pattern matching characters used in file names"
 msgstr "Във файловите имена са използвани „*“ и „?“.  Моля,"
 
-#: src/names.c:826
+#: src/names.c:1244
 #, fuzzy
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr "използвайте --wildcards, за да позволите съпоставяне с образци,"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Не е открит в архива"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Необходимо срещане не е открито в архива"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Архивът не е етикетиран да отговаря на %s"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "И двете опции „-%s“ и „-%s“ изискват стандартен вход"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Неправилен архивен формат"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Поискани са ГНУ-възможности при несъвместим архивен формат"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1408,7 +1578,7 @@ msgstr ""
 "Непознат начин за извеждане на спец. знаци „%s“. Използвайте „%s --quoting-"
 "style=help“, за да получите списък."
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1428,7 +1598,7 @@ msgstr ""
 "tar\n"
 "  tar -xf архив.tar            # Извлича от архив.tar всички файлове\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1451,79 +1621,87 @@ msgstr ""
 "иначе\n"
 "  never, simple   винаги да се правят прости резервни копия\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Вид основно действие:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "изрежда съдържанието на архив"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "извлича файлове от архива"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "създава нов архив"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "намира разликите между архива и файловата система"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "добавя файлове в края на архив"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "добавя само файлове, по-нови от копието в архива"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "прибавя tar-файлове към архива"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "трие файлове от архива (не при магнитни ленти!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "проверява етикета на тома и завършва"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Модификатори на действието:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "работи ефективно с разредени файлове"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "ГОЛЯМ[.МАЛЪК]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "определя версията на формата разредени файлове (влече --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "със стар формат ГНУ за инкрементално архивиране"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "с новия формат на ГНУ за инкрем. архивиране"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "при нечитаеми файлове не завършва с грешка"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1535,141 +1713,150 @@ msgstr ""
 "list и когато списъкът от файлове е зададен или на командния ред, или с "
 "опция -T.  Ако не е посочен N, се подразбира 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "архивът е с произволен достъп"
 
-#: src/tar.c:467
+#: src/tar.c:445
 #, fuzzy
 msgid "archive is not seekable"
 msgstr "архивът е с произволен достъп"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Регулиране заместването на файлове:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "след записа опитва да провери архива"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "изтрива файловете след като ги добави в архива"
 
-#: src/tar.c:485
+#: src/tar.c:463
 #, fuzzy
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "при извличане не замества съществуващи файлове"
 
-#: src/tar.c:488
+#: src/tar.c:466
 #, fuzzy
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "при извличане не замества съществуващи файлове"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 "не замества съществуващи файлове, ако са по-нови от копията им в архива"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "при извличане замества съществуващи файлове"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "изтрива всеки файл преди да извлича върху него"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "изпразва йерархията преди извличане на каталог"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "запазва метаданните на съществуващи каталози"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "при извличане замества метаданните на съществуващи каталози (подразбира се)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 #, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "при извличане замества съществуващи файлове"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "КАТ"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Избор на изходен поток:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "извлича файловете на стандартния изход"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "подава с канал всеки извлечен файл към КОМАНДА"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "игнорира кода на завършване на породени процеси"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "счита за грешка всеки ненулев код на завършване на породен процес"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Подход спрямо файловите атрибути:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "прави ИМЕ да е собственик на добавените файлове"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "прави ИМЕ да бъде групата на добавените файлове"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-ИЛИ-ФАЙЛ"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "прави времето на промяна на добавяни файлове като ДАТА-ИЛИ-ФАЙЛ"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ПРОМЕНИ"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "модифицира режима за достъп на добавени файлове"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "МЕТОД"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1679,33 +1866,33 @@ msgstr ""
 "времената след четене (при МЕТОД=„replace“, подразбира се), или не променя "
 "имената изобщо (МЕТОД=„system“)"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "не извлича времето на промяна на файловете"
 
-#: src/tar.c:545
+#: src/tar.c:529
 #, fuzzy
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr "опитва да възстановява собствеността на файловете"
 
-#: src/tar.c:547
+#: src/tar.c:531
 #, fuzzy
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "извлича файловете от ваше име"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "използва числа вместо имена за потребител и група"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "възстановява точно (без umask) режима на достъп (подразбира се при "
 "привилегирован потребител)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1713,16 +1900,12 @@ msgstr ""
 "прилага umask на потребителя при извличане на файлове (подразбира се при "
 "обикновен потребител)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "същото като едновременно -p и -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1730,188 +1913,188 @@ msgstr ""
 "забавя настройката на времето на промяна и режима за достъп на извличаните "
 "каталози докато извличането завърши"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "отменя ефекта на --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 #, fuzzy
 msgid "Handling of extended file attributes:"
 msgstr "Подход спрямо файловите атрибути:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Избор на устройство и смяна:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "АРХИВ"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "използва архивния файл или устройство АРХИВ"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "архивният файл е локален дори при двуеточие"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "използва посочената КОМАНДА вместо rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "използва посочената КОМАНДА вместо rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "посочва устройство и гъстота"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "създава/извежда/извлича многотомен архив"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "смяна на лентата след запис на 1024 x N байта"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "изпълнява скрипт в края на всяка лента (влече -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "ползва от и обновява във ФАЙЛ номера на тома"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Блокуване на устройството:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "БЛОКОВЕ"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "БЛОКОВЕ x 512 байта в секунда"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "прави N-байтови записи, кратно на 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "пренебрегва блоковете от нули и продължава"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "преформира при четене блоковете (канали 4.2BSD)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Избор на архивен формат:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "създава архив с посочения формат"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "ФОРМАТ е някой от следните:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "стар формат tar, V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "формат на ГНУ при tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "формат на версия 1.13.x на tar на ГНУ"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "формат POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "формат POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "същото като pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "същото като --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "същото като --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ключдума[[:]=стойност][,ключдума[[:]=стойност]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "управляващи ключови думи за pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1919,190 +2102,85 @@ msgstr ""
 "създава архив с име на том ТЕКСТ; при извеждане или извличане сравнява името "
 "на тома с ТЕКСТ"
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Противоречащи си опции за компресиране"
 
-#: src/tar.c:686
+#: src/tar.c:668
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "Не може да се пише към компресиращата програма"
 
-#: src/tar.c:688
+#: src/tar.c:670
 #, fuzzy
 msgid "do not use archive suffix to determine the compression program"
 msgstr "Не може да се пише към компресиращата програма"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "ПРОГ"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "прекарва архива през ПРОГ (трябва да приема -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Избор на локален файл:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-"добавя посочения ФАЙЛ към архива (полезно е, ако името му започва с минус)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "работи в каталога КАТ"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "взема имената за извличане или създаване от ФАЙЛ"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T чете имена, завършващи с нулев байт"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "декодира „\\“ във файловите имена на -T (подразб.)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "не декодира „\\“ във файловите имена на -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "ОБРАЗЕЦ"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "без файловете, отговарящи на ОБРАЗЕЦ"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "пропуска файловете, отговарящи на образци в ФАЙЛ"
-
-#: src/tar.c:728
-#, fuzzy
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr "без каталози, обозначени като кеширащи"
-
-#: src/tar.c:731
-#, fuzzy
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "без каталози, обозначени като кеширащи"
-
-#: src/tar.c:734
-#, fuzzy
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "без каталози, обозначени като кеширащи"
-
-#: src/tar.c:736
-#, fuzzy
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "без каталози, обозначени като кеширащи"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-#, fuzzy
-msgid "exclude everything under directories containing FILE"
-msgstr "без каталози, обозначени като кеширащи"
-
-#: src/tar.c:747
-#, fuzzy
-msgid "exclude directories containing FILE"
-msgstr "без каталози, обозначени като кеширащи"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "без автоматично влизане в подкаталозите"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "работи в рамките на локалната файлова система"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "влиза рекурсивно в подкаталозите (подразбира се)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "не маха „/“ в началото на файлови имена"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "следва симв. връзки; архивира сочените файлове"
 
-#: src/tar.c:765
+#: src/tar.c:697
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "следва симв. връзки; архивира сочените файлове"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "ЧЛЕН-ИМЕ"
 
-#: src/tar.c:767
+#: src/tar.c:699
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "започва от файл с име ЧЛЕН-ИМЕ в архива"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "съхранява само файлове, по-нови от ДАТА-ИЛИ-ФАЙЛ"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "сравнява времето само ако данните са променени"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "МЕТОД"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "резервно копира съществуващи файлове с МЕТОД"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "НИЗ"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2111,101 +2189,61 @@ msgstr ""
 "освен ако не е бил сменен с променливата от обкръжението "
 "SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Промени на файловите имена:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "при извличане маха N начални каталози от файловите пътеки"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "ИЗРАЗ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "преобразува файловите имена, използвайки посочения ИЗРАЗ за замяна на sed"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-"Съпоставяне с файлови имена (влияе и на включващи, и на изключващи образци):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "пренебрегва разликата между големи/малки букви"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "съпоставянето с образците започва от началото на файловото име"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "съпоставянето започва след кой да е „/“ (подразбира се при изключване)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "отчита се разликата между малки и големи букви (подразбира се)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "ползва „*“ и „?“ (подразбира се за изключване)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "дословно низово сравнение"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "„/“ не пасва с „*“ и „?“"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "„/“ пасва с „*“ и „?“ (подразб. за изключване)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Извеждане на информация:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "подробно изрежда обработените файлове"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 #, fuzzy
 msgid "warning control"
 msgstr "Регулиране заместването на файлове:"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "извежда напредъка след всеки N-ти запис (подразбира се 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "съобщава, ако не всички твърди връзки са включени"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2216,36 +2254,36 @@ msgstr ""
 "извежда текущите байтове при получаване на СИГНАЛ.  Допустими СИГНАЛи са "
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2; имената без SIG също са позволени"
 
-#: src/tar.c:834
+#: src/tar.c:744
 #, fuzzy
 msgid "print file modification times in UTC"
 msgstr "извежда времената по Гринуич"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "изпраща подробния изход във ФАЙЛ"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "показва номера на блок в архива с всяко съобщение"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "изисква потвърждение за всяко действие"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "показва подразбираното от tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2253,32 +2291,32 @@ msgstr ""
 "при извеждане или извличане изрежда всеки каталог, който се пропуска по "
 "някаква причина"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "показва преобразуваните файлови имена в архива"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "НАЧИН"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "начин за цитиране на специални знаци; вж. по-долу за стойностите на НАЧИН"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "работи и със знаците от НИЗ като със специални"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "не работи със знаците от НИЗ като със специални"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Опции за съвместимост:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2286,56 +2324,63 @@ msgstr ""
 "при създаване е същото като --old-archive; при извличане е същото като --no-"
 "same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Други опции:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "забранява някои потенциално опасни опции"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Не може да се отиде на отместване %s във файла"
+
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Не може да се използва повече от една опция „-Acdtrux“"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Противоречащи си опции за компресиране"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Непознато име на сигнал: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Не е открит еталлонният файл за дата"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Използва се %s вместо непознатия файлов формат за дата %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, fuzzy, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Опция %s: Датата „%s“ се разглежда като %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, fuzzy, c-format
 msgid "filter the archive through %s"
 msgstr "прекарва архива през gzip"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 #, fuzzy
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Правилни аргументи за опциите --quoting-style са:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2343,193 +2388,204 @@ msgstr ""
 "\n"
 "*Този* tar подразбира следното:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Неправилен собственик"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Неправилен фактор за блокуване"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Неправилна дължина на лента"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 #, fuzzy
 msgid "Invalid incremental level value"
 msgstr "Грешен инкрементален файлов формат"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Повече от една ограничителна дата"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Неправилна версия на формат разредени файлове"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' не се поддържа на тази платформа"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "стойността на --checkpoint не е цяло число"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "На опция е подаден неправилен режим"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Неправилно число"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Неправилен размер на запис"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Размерът на запис трябва да е кратен на %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Неправилен брой елементи"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Позволява се само една опция --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Лошо образуван аргумент за гъстота: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Непозната гъстота: „%c“"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Опциите „-[0-7][lmh]“ не се поддържат от *този* tar"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Грешка при анализа на число до „%s“"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Образецът %s не може да се използва"
+msgid "non-option arguments in %s"
+msgstr "неправилен аргумент %s за %s"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "не може да се смени времето на „%s“"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Старата опция „%c“ изисква аргумент."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "без списък файлове опцията --occurrence е безсмислена"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Използването на много архивни файлове изисква опция „-M“"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 #, fuzzy
 msgid "--level is meaningless without --listed-incremental"
 msgstr "без списък файлове опцията --occurrence е безсмислена"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Не може да се проверяват многотомни архиви"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Не може да се проверяват компресирани архиви"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Не може да се използват многотомни компресирани архиви"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Не може да се съединяват компресирани архиви"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 "опцията --pax-option може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 "опцията --pax-option може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 "опцията --pax-option може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 "опцията --pax-option може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Страхлив отказ да се създава празен архив"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Опциите „-Aru“ са несъвместими с „-f -“"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Трябва да посочите поне една от опциите „-Acdtrux“"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2587,7 +2643,7 @@ msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 "Пренебрегва се непознатата ключова дума „%s“ за разширен заглавен запис"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2596,28 +2652,28 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Разширеният заглавен запис %s=%s е извън диапазона %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Неправилно формиран разширен заглавен запис: неправилен %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Неправилно формиран разширен заглавен запис: прекомерен %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Лошо формиран разширен заглавен запис: неправилен %s; очаква се разделител %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2659,7 +2715,7 @@ msgstr "Контролна точка при запис %u"
 msgid "Read checkpoint %u"
 msgstr "Контролна точка при четене %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2667,73 +2723,77 @@ msgstr ""
 "genfile борави с файловете с данни за тестовия пакет GNU paxutils.\n"
 "ОПЦИИТЕ са:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Опции за създаването на файл:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "РАЗМЕР"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Създава файл с посочения РАЗМЕР"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Запис във файл ИМЕ вместо на стандартния изход"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Чете файловите имена от ФАЙЛ"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T чете имена, завършващи с нулев байт"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Попълва файла с посочения ОБРАЗЕЦ. ОБРАЗЕЦ може да бъде „default“ или „zeros“"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Размер на блок за разреден файл"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Генерира разреден файл. Останалата част от командния ред дава карта на файла."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 #, fuzzy
 msgid "Seek to the given offset before writing data"
 msgstr "след записа опитва да провери архива"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Опции за файлови статистики:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Извежда съдържанието на структурата stat за всеки файл. По подразбиране "
 "ФОРМАТ е: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Опции за синхронизирано изпълнение:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 #, fuzzy
 msgid "OPTION"
 msgstr " [ОПЦИЯ...]"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 #, fuzzy
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
@@ -2742,21 +2802,21 @@ msgstr ""
 "Изпълнява посочената КОМАНДА. Полезно с --checkpoint и някоя от --cut, --"
 "append, --touch"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Изпълнява посоченото действие (вж. по-долу) до достигането на контролна "
 "точка N"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Посочва дата за следващата опция --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Извежда изпълнените контролни точки и кода на завършване на КОМАНДА"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2764,7 +2824,7 @@ msgstr ""
 "Синхронизирано изпълнение на действията. Те се изпълняват когато се достигне "
 "контролната точка с номер, посочен с --checkpoint."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2772,165 +2832,158 @@ msgstr ""
 "Отсича ФАЙЛ до размера, определен с предхождаща опция --length (подразбира "
 "се 0)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Добавя РАЗМЕР байтове към ФАЙЛ. РАЗМЕРът се определя от предхождаща опция --"
 "length."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Обновява времето на достъп и промяна на FILE"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Изпълнява КОМАНДА"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Неправилен размер: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Номер извън допустимия диапазон: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Отрицателен размер: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "не успя stat(%s)"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Грешка при анализа на число до „%s“"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Непознат формат за дата"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[АРГУМ...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Не може да се отвори „%s“"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "Не може да се изпълни %s"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "името на файла съдържа нулев байт"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "не може да се създават разредени файлове на стандартния изход, използвайте "
 "опцията --file"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "неправилна маска (до „%s“)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Непознато поле „%s“"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "не може да се смени времето на „%s“"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "Не може да се отвори „%s“"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "командата %s не успя"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "Не може да се отвори „%s“"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Командата завърши успешно\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Командата завърши с код %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Командата бе прекратена със сигнал %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Командата бе спряна със сигнал %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Командата генерира core\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Командата бе прекратена\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat изисква файлови имена"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "файловете за извличане са сортирани според архива"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "не може да се използва --occurrence при пожелания начин на работа"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Не може да се съчетават --listed-incremental с --newer"
+#~ msgid "same as both -p and -s"
+#~ msgstr "същото като едновременно -p и -s"
 
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: неправилна опция -- %c\n"
@@ -3020,6 +3073,9 @@ msgstr "--stat изисква файлови имена"
 #~ msgid "suppress this warning."
 #~ msgstr "или --no-wildcards, за да не се извежда това предупреждение."
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "файловете за извличане са сортирани според архива"
+
 #~ msgid "filter the archive through bzip2"
 #~ msgstr "прекарва архива през bzip2"
 
@@ -3033,6 +3089,12 @@ msgstr "--stat изисква файлови имена"
 #~ msgstr ""
 #~ "Внимание: опцията -I не се поддържа. Може би имате предвид -j или -T?"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "не може да се използва --occurrence при пожелания начин на работа"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Не може да се съчетават --listed-incremental с --newer"
+
 #~ msgid "Error exit delayed from previous errors"
 #~ msgstr "Изходът с грешка бе забавен поради предхождащи грешки"
 
index aac37d05b372be74098f70909b48797ba340e3c2..e7b8938d3552821abc31667b8f181ccd775d723b 100644 (file)
Binary files a/po/ca.gmo and b/po/ca.gmo differ
index 77bc0272d279e2e115a42f747239203cab1f27f0..58f05ace36b346517a0a3cfc4a3467e31b376389 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -3,61 +3,62 @@
 # This file is distributed under the same license as the tar package.
 # Àngel Mompó <mecatxis@gmail.com>, 2010, 2011.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.26\n"
+"Project-Id-Version: tar-1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2011-03-19 11:52+0100\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2014-08-09 11:27+0100\n"
 "Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
 "Language-Team: Catalan <ca@dodds.net>\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"
+"X-Generator: Poedit 1.5.4\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "el paràmetre %s no és vàlid per %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "el paràmetre %s és ambigu per %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Els paràmetres vàlids són:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Paràmetre ARGP_HELP_FMT desconegut"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Hi ha brossa a ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -65,143 +66,148 @@ msgstr ""
 "Els paràmetres obligatoris o opcionals per les opcions llargues també ho són "
 "per les corresponents opcions curtes."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Ús:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  o: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPCIÓ...]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+#: gnu/argp-help.c:1688
+#, 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"
+msgstr "Proveu «%s --help» o bé «%s --usage» per a més informació.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Informeu dels errors de programació a %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Error de sistema desconegut"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "dóna aquesta llista d'ajuda"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "dóna un missatge curt sobre utilització"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NOM"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "definiu el nom del programa"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEGS"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "es penja durant SECS segons (per defecte 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "mostra la versió del programa"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ERROR DE PROGRAMA) Versió desconeguda!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Massa paràmetres\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ERROR DE PROGRAMA) Hauria de conèixer l'opció!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "error d'escriptura"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
-#, fuzzy, c-format
+#: gnu/getopt.c:575 gnu/getopt.c:604
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: l'opció «%s» és ambigua\n"
+msgstr "%s: l'opció «%s» és ambigua. Possibilitats:"
+
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: l'opció «-W %s» és ambigua\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: l'opció «--%s» necessita un paràmetre\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: opció no reconeguda «--%s»\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: opció no reconeguda «%c%s»\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opció invàlida -- «%c»\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: l'opció necessita un paràmetre -- «%c»\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: l'opció «-W %s» és ambigua\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memòria exhaurida"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "No es pot desar el directori de treball actual"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "No es pot tornar al directori de treball inicial"
@@ -227,11 +233,11 @@ msgstr "No es pot tornar al directori de treball inicial"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "«"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "»"
 
@@ -241,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[sS]"
 
@@ -251,16 +257,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Empaquetat per %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Empaquetat per %s\n"
@@ -268,11 +274,11 @@ msgstr "Empaquetat per %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -288,19 +294,19 @@ msgstr ""
 "No hi ha CAP GARANTIA, en la mesura que ho permeti la llei.\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Escrit per %s. \n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Escrit per %s i %s. \n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Escrit per %s, %s, i %s. \n"
@@ -308,7 +314,7 @@ msgstr "Escrit per %s, %s, i %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -320,7 +326,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -332,7 +338,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -344,7 +350,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -356,7 +362,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -370,7 +376,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -384,7 +390,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -399,7 +405,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -408,22 +414,22 @@ msgstr ""
 "\n"
 "Informeu dels errors a <%s>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Informeu %s errors a: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s pàgina inicial <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s pàgina inicial: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Ajuda general per quan es fa servir programari de GNU: <http://www.gnu.org/"
@@ -502,12 +508,12 @@ msgstr[1] "%s: S'han escrit només %lu de %lu bytes"
 #: lib/paxnames.c:140
 #, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Es treuen les primeres «%s» dels noms dels membres"
+msgstr "Es treuen els «%s» del començament dels noms dels membres"
 
 #: lib/paxnames.c:141
 #, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "Es treuen les primeres «%s» dels objectius dels enllaços durs"
+msgstr "Es treuen els «%s» del començament dels objectius dels enllaços durs"
 
 #: lib/paxnames.c:154
 msgid "Substituting `.' for empty member name"
@@ -538,9 +544,9 @@ msgid "Cannot connect to %s: resolve failed"
 msgstr "No es pot connectar amb %s: no s'ha pogut resoldre"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "No es pot executar un interpret d'ordres remot"
+msgstr "No es poden redirigir els fitxers a un interpret d'ordres remot"
 
 #: lib/rtapelib.c:516
 #, c-format
@@ -581,7 +587,7 @@ msgstr "El codi de l'operació no és vàlid"
 
 #: rmt/rmt.c:636 rmt/rmt.c:680
 msgid "Operation not supported"
-msgstr "No se suporta la operació"
+msgstr "L'operació no és compatible"
 
 #: rmt/rmt.c:664
 msgid "Unexpected arguments"
@@ -591,8 +597,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NÚMERO"
 
@@ -600,10 +606,11 @@ msgstr "NÚMERO"
 msgid "set debug level"
 msgstr "estableix el nivell de depuració"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FITXER"
 
@@ -616,7 +623,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:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "massa arguments"
@@ -625,183 +632,184 @@ msgstr "massa arguments"
 msgid "Garbage command"
 msgstr "Ordre escombraria"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "No sembla un arxiu tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Bytes totals llegits"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Bytes totals escrits"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Bytes totals esborrats: %s\n"
+msgstr "Bytes totals esborrats"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(conducte)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"No es poden llegir continguts de l'arxiu des del terminal (falta l'opció -f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"No es poden escriure continguts de l'arxiu al terminal (falta l'opció -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "El valor de record_size no és vàlid"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "No s'ha donat el nom de l'arxiu"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "No es pot verificar l'arxiu stdin/stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "L'arxiu està comprimit. Feu servir l'opció %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "No es poden actualitzar els arxius comprimits"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Al principi de la cinta, se surt"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Massa errors, se surt"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek no s'ha aturat als límits d'un registre "
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: conté un número de volum invàlid"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Desbordament del número de volum"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepareu el volum #%d per %s i premeu retorn: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Final del fitxer on s'esperava una resposta de l'usuari"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "AVÍS: L'arxiu és incomplet"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, 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 nom        Dona el nom d'un fitxer nou pel següents (i següents) volum"
-"(s)\n"
+" n nom        Dona el nom d'un fitxer nou pel següents (i següents) "
+"volum(s)\n"
 " q            Interromp tar\n"
 " y            Continua l'operació\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Engendra un interpret d'ordres\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Mostra aquesta ajuda\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "No hi ha cap volum nou; se surt.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 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:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Entrada invàlida. Tecleja ? per mostrar l'ajuda.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "L'ordre %s ha fallat"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s no continua a aquest volum"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s no continua a aquest volum"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s té una mida equivocada (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "L'arxiu no està etiquetat per coincidir amb %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "El Volum %s no coincideix amb %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -809,7 +817,7 @@ msgstr ""
 "%s: El nom del fitxer és massa llarg per ser desat en una capçalera "
 "multivolum GNU. S'ha truncat"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "l'escriptura no ha acabat al límit d'un bloc"
 
@@ -820,20 +828,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "El contingut no coincideix"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Final de l'arxiu inesperat"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "El tipus de fitxer no coincideix"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "El mode no coincideix"
 
@@ -849,7 +857,7 @@ msgstr "L'identificador de grup d'usuaris no coincideix"
 msgid "Mod time differs"
 msgstr "La data de modificació no coincideix"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "La mida no coincideix"
 
@@ -858,142 +866,142 @@ msgstr "La mida no coincideix"
 msgid "Not linked to %s"
 msgstr "No s'ha enllaçat amb %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "L'enllaç tou no coincideix"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "El número de dispositiu no coincideix"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verifiqueu "
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, 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"
+"%s: Tipus de fitxer «%c» desconegut. S'hi fa servir el diff com si es "
+"tractés d'un fitxer normal"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "L'arxiu conté noms de fitxers amb els prefixes inicials esborrats."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "L'arxiu conté noms de fitxers transformats."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Pot ser que la verificació no pugui trobar els fitxers originals."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Un sol bloc zero a %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, 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:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "S'estan generant les capçaleres octals negatives"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, 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:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "els continguts no s'aboquen"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipus de fitxer desconegut; el fitxer s'ignora"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Falten els enllaços a %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: el fitxer no ha canviat; no s'aboca"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: el fitxer és l'arxiu; no s'aboca"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "el directori no s'aboca"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: el fitxer ha canviat mentre es llegia"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: sòcol ignorat"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: porta ignorada"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
-msgstr "Es salta fins a la propera capçalera"
+msgstr "Se salta fins a la propera capçalera"
 
 #: src/delete.c:284
 msgid "Deleting non-header from archive"
@@ -1009,55 +1017,55 @@ msgstr "%s: marca horària inversemblantment antiga %s"
 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:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistència inesperada en crear el directori"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s: se salta el fitxer existent"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Els fitxers contigus s'extreuen com fitxers normals"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 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:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Nom de la capçalera inesperadament llarg"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, 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"
+msgstr "%s: Tipus de fitxer «%c» desconegut. S'extreu com un fitxer normal"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, 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:1620
+#: src/extract.c:1665
 #, 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:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "No es pot canviar el nom de %s a %s"
@@ -1073,9 +1081,10 @@ msgid "%s: Directory is new"
 msgstr "%s: El directori és nou"
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, 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"
+msgstr ""
+"%s: el directori es troba en un sistema de fitxers diferent. No s'aboca"
 
 #: src/incremen.c:587
 #, c-format
@@ -1087,9 +1096,8 @@ msgid "Invalid time stamp"
 msgstr "Marca horària invàlida"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "Modificació invalida del temps (segons)"
+msgstr "Modificació invalida del temps"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
@@ -1106,133 +1114,136 @@ msgstr "Número de node d'identificació invàlid"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: byte %s: %s %.*s... massa llarg"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Final de l'arxiu d'instantània inesperat"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: byte %s: %s %s seguit del byte 0x%02x no vàlid"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: byte %s: (interval vàlid %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Falta el terminador del registre"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Format del fitxer incremental erroni"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
-msgstr "No se suporta la versió del format incremental: %<PRIuMAX>"
+msgstr "No s'admet la versió del format incremental: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, 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:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Directori d'abocament mal format: «X» duplicada"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Directori d'abocament mal format: nom buit a «R»"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Directori d'abocament mal format: «T» no està  precedit de «R»"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Directori d'abocament mal format: nom buit a «T»"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Directori d'abocament mal format: no s'ha fet servir «X»"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, 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:1719
+#: src/incremen.c:1723
 #, 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:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: S'elimina %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: No es pot esborrar"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: S'ometen"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloc %s: ** Bloc de NULs **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s: ** Final del Fitxer **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1240,87 +1251,87 @@ msgstr ""
 "complement a dos"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "L'arxiu conté capçaleres amb base 64 que estan esdevenint obsoletes"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " enllaç cap a %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipus de fitxer desconegut %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Enllaç llarg--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nom Llarg--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Capçalera del volum--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua al byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Es crea el directori:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Es canvia el nom %s per %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: No es pot canviar el nom a %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Es torna a canviar el nom %s a %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: El fitxer s'ha esborrat abans de poder-lo llegir"
@@ -1333,32 +1344,194 @@ msgstr "procés descendent"
 msgid "interprocess channel"
 msgstr "canal d'intercomunicació"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Selecció de fixter local:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIRECTORI"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "Canvia al directori DIRECTORI"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "obté els noms que cal extreure u crear del FITXER"
+
+#: src/names.c:77
 #, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T llegeix els noms acabats en nul, desactivar-ho amb -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "deshabilita l'efecte de l'opció --null prèvia"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"treu les cometes dels noms dels membres o dels fitxers d'entrada (per "
+"defecte)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+"no treguis les cometes dels noms dels dels membres o dels fitxers d'entrada "
+"(per defecte)"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PATRÓ"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "exclou els fitxers que es donen com un PATRÓ"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "exclou els patrons que es llisten al FITXER"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"exclou el contingut dels directoris que continguin CACHEDIR.TAG, excepte el "
+"propi fitxer d'etiquetes"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "exclou tot el que estigui als directoris que continguin CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "exclou els directoris que continguin CACHEDIR.TAG "
+
+#: src/names.c:103
+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/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "si existeix, llegeix els patrons exclosos de cada directori del FITXER"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"si existeix, llegeix els patrons exclosos de cada directori i subdirectoris "
+"del FITXER"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "exclou tot el que hi hagi al directori que contingui el FITXER"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "exclou els directoris que continguin el FITXER"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "exclou els directoris del sistema de control de versions"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "llegeix els patrons exclosos dels fitxers d'ignorat VCS"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "exclou els fitxers de còpia de seguretat i de blocat"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "incloure els subdirectoris (per defecte)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "no baixa automàticament als directoris"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "comprova els patrons del començament del nom del fitxer"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+"comprova els patrons després de qualsevol «/» (per defecte a les exclusions) "
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "ignora diferències majúscules/minúscules"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "comprova diferències majúscules/minúscules (per defecte)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "fa servir comodins (per defecte a les exclusions)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "concordància exacte a les cadenes"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "els comodins han de concordar amb «/» (per defecte a les exclusions)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "els comodins no concorden amb «/»"
+
+#: src/names.c:768
 msgid "command line"
-msgstr "L'ordre %s ha fallat"
+msgstr "línia de comandes"
 
-#: src/names.c:378
-#, fuzzy, c-format
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: la llista de fitxers ja s'ha llegit"
+msgstr "%s: la llista de fitxers demanada des de %s ja s'ha llegit des de %s"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "no es pot definir el temps de «%s»"
+msgstr "no es pot dividir la cadena «%s»:%s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, 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:824
+#: src/names.c:1242
 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:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1366,57 +1539,56 @@ msgstr ""
 "Feu servir --wildcards per habilitar els patrons de coincidència, o --no-"
 "wildcars per eliminar aquest avís."
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: No s'ha trobat a l'arxiu"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, 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:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "L'etiqueta de l'arxiu no coincideix"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
-"No podeu fer servir lopció -C als llistats de fitxer amb --listed-"
+"No podeu fer servir l'opció -C als llistats de fitxer amb --listed-"
 "incremental"
 
-#: src/names.c:1189
+#: src/names.c:1607
 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:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Ambdues opcions «-%s» i «-%s» necessiten la sortida estàndard"
+msgstr "Ambdues opcions «-%s» i «-%s» volen l'entrada estàndard"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Format de fitxer invàlid"
 
-#: src/tar.c:196
+#: src/tar.c:197
 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:264
-#, fuzzy, c-format
+#: src/tar.c:265
+#, c-format
 msgid ""
 "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 "
+"L'estil de citació «%s» és desconegut. Proveu «%s --quoting-style=help» per "
 "obtenir-ne una llista."
 
-#: src/tar.c:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1426,17 +1598,16 @@ 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' desa molts fitxers agrupats en un sol arxiu de cinta o de disc, i "
-"pot recuperar fitxers individuals de l'arxiu.\n"
+"GNU «tar» agrupa diversos fitxers i els desa en un sol arxiu de cinta o de "
+"disc, i pot recuperar fitxers individuals de l'arxiu.\n"
 "\n"
 "Exemples:\n"
-"  tar -cf arxiu.tar foo bar  # Crea l'arxiu.tar dels fitxers foo i bar.\n"
+"  tar -cf arxiu.tar foo bar  # Crea l'arxiu.tar amb els fitxers foo i bar.\n"
 "  tar -tvf arxiu.tar         # Fa una llista detallada dels fitxers que hi "
 "ha a l'arxiu.tar.\n"
 "  tar -xf arxiu.tar          # Extreu tots els fitxers de l'arxiu.tar.\n"
 
-#: src/tar.c:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1458,82 +1629,90 @@ msgstr ""
 "no simples\n"
 "  never, simple   fes sempre còpies de seguretat simples\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Mode d'operació principal:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "Llista els continguts d'un arxiu"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "extreu fitxers d'un arxiu"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "crea un arxiu nou"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "cerca diferències entre un arxiu i el sistema de fitxers"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "afegeix fitxers al final d'un arxiu"
 
-#: src/tar.c:432
+#: src/tar.c:408
 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:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "afegeix fitxers tar a un arxiu"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "esborra de l'arxiu (excepte en cintes magnètiques!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "prova l'etiqueta de volum de l'arxiu i surt"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modificadors d'operació:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "tracta fitxers dispersos de manera eficient"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MENOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "tracta l'antic format incremental GNU de còpies de seguretat"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "tracta el nou format de còpies de seguretat incrementals de GNU"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "nivell de bolcat per l'arxiu llistat-incremental creat"
 
-#: src/tar.c:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 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, --"
@@ -1545,145 +1724,155 @@ 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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "l'arxiu pot buscar-se"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "L'arxiu no pot buscar-se"
 
-#: src/tar.c:469
+#: src/tar.c:447
 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:472
+#: src/tar.c:450
 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:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Control de sobreescriptura:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "intenta verificar l'arxiu després d'escriure'l"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "eliminar els fitxers després d'afegir-los a l'arxiu"
 
-#: src/tar.c:485
-#, fuzzy
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "no reemplacis els fitxers existents quan els extreguis"
+msgstr ""
+"no reemplacis els fitxers existents quan els extreguis, tracta'ls com a "
+"errors"
 
-#: src/tar.c:488
-#, fuzzy
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "no reemplacis els fitxers existents quan els extreguis"
+msgstr ""
+"no reemplacis els fitxers existents quan els extreguis, salta-te'ls sense "
+"dir res"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "sobreescriu els fitxers existents quan els extreguis"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "elimina cada fitxer abans d'extreure-hi a sobre"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "buida les jerarquies abans d'extreure el directori"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "conserva les metadades dels directoris existents"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "sobreescriu les metadades dels directoris existents quan s'extreguin (per "
 "defecte)"
 
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "sobreescriu els fitxers existents quan els extreguis"
+msgstr "conserva els enllaços simbòlics a directoris quan els extreguis"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIRECTORI"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "crea un subdirectori per evitar tenir fitxers extrets dispersats"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Selecciona la sortida del flux de dades:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "extreu els fitxers a la sortida estàndard"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "COMANDA"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "condueix els fitxers extrets a un altre programa"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "ignora els codis de sortida dels processos fill"
 
-#: src/tar.c:522
+#: src/tar.c:500
 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:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Gestió dels atributs del fitxer:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "força NOM coma propietari dels fitxers afegits"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "força NOM com a grup pels fitxers afegits"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATA-O-FITXER"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "estableix mtime pels fitxers afegits des de DATA-O-FITXER"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "CANVIS"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "força CANVIS de mode (simbòlic) als fitxers que s'afegeixin"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "MÈTODE"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1693,11 +1882,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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "no extreguis la data de modificació dels fitxers"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1705,23 +1894,23 @@ msgstr ""
 "intenta extreure els fitxers amb el mateix propietari que existeix a l'arxiu "
 "(per defecte pel superusuari)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 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:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "fes servir sempre números pels noms de usuari/grup"
 
-#: src/tar.c:551
+#: src/tar.c:535
 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:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1729,16 +1918,14 @@ msgstr ""
 "fes servir els permisos especificats per l'usuari qua s'extreguin permisos "
 "de l'arxiu (per defecte per usuaris normals)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
+"els arguments dels membres es llisten en el mateix ordre que els fitxers de "
+"l'arxiu"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "el mateix que per -p i -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1746,188 +1933,187 @@ msgstr ""
 "no modifiquis els temps i els permisos dels directoris extrets fins que "
 "s'acabi l'extracció"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "cancel·la l'efecte de l'opció --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDRE"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "sentit d'ordenació dels directoris: cap (per defecte) o nom"
 
-#: src/tar.c:578
-#, fuzzy
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr "Gestió dels atributs del fitxer:"
+msgstr "Gestió dels atributs extesos del fitxer:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Habilita l'ús d'atributs extesos"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Deshabilita l'ús d'atributs extesos"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MÀSCARA"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "especifica el patró inclòs per les claus de l'xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "especifica el patró exclòs per les claus de l'xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Habilita l'ús del context SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Deshabilita l'ús del context SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Habilita l'ús dels POSIX ACLs"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Deshabilita l'ús dels POSIX ACLs"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Selecció i canvi de dispositiu:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARXIU"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "fes servir el fitxer o dispositiu ARXIU"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "l'arxiu és local encara que tingui dos punts"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "fes servir la COMANDA rmt en comtes de rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "fes servir la COMANDA remota en comptes de rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "especifica la unitat i la densitat"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "crea/llista/extreu arxius de múltiples volums"
 
-#: src/tar.c:629
+#: src/tar.c:611
 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:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "executa seqüència al final de cada cinta (implica -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "fes servir/actualitza el número de volum del FITXER"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blocs als dispositius:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOCS"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOCS x 512 bytes per registre"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NÚMERO de bytes per registre, múltiple de 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 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:648
+#: src/tar.c:630
 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:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Selecció del format de l'arxiu: "
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "crea un arxiu del format especificat"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "El FORMAT és un dels següents"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "format tar de l'antiga versió 7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "format GNU tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "format GNU tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "format POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "format POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "el mateix que pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "el mateix que --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "el mateix que --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "paraula clau[[:]=valor][,paraula clau[[:]=valor]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "controla les paraules clau de pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1935,187 +2121,83 @@ 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:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Opcions de compressió:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 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:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROGRAMA"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtra mitjançant PROGRAMA (ha d'acceptar -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Selecció de fixter local:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "Canvia al directori DIRECTORI"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "obté els noms que cal extreure u crear del FITXER"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T llegeix els noms acabats en nul, desactivar-ho amb -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "deshabilita l'efecte del la opció --null prèvia"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "treu les cometes dels noms dels fitxers llegits amb -T (per defecte)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "no treguis les cometes dels noms dels fitxers llegits amb -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PATRÓ"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "exclou els fitxers que es donen com un PATRÓ"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "exclou els patrons que es llisten al FITXER"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"exclou el contingut dels directoris que continguin CACHEDIR.TAG, excepte el "
-"propi fitxer d'etiquetes"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "exclou tot el que estigui als directoris que continguin CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "exclou els directoris que continguin CACHEDIR.TAG "
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "exclou tot el que hi hagi al directori que contingui el FITXER"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "exclou els directoris que continguin el FITXER"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "exclou els directoris del sistema de control de versions"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "exclou els fitxers de còpia de seguretat i de blocat"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "no baixa automàticament als directoris"
-
-#: src/tar.c:757
+#: src/tar.c:691
 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:759
-msgid "recurse into directories (default)"
-msgstr "incloure els subdirectoris (per defecte)"
-
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
-msgstr "no treguis les primeres «/» dels noms dels fitxers"
+msgstr "no treguis les «/» del començament dels noms dels fitxers"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "NOM-DEL-MEMBRE"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "comença al membre NOM-DEL MEMBRE de l'arxiu"
+msgstr "comença al membre NOM-DEL MEMBRE quan llegeixis l'arxiu"
 
-#: src/tar.c:769
+#: src/tar.c:701
 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:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:772
+#: src/tar.c:704
 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:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 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:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "CADENA"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2123,104 +2205,62 @@ 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:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Transformacions del nom del fitxer:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "EXPRESSIÓ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 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:792
-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:795
-msgid "ignore case"
-msgstr "ignora diferències majúscules/minúscules"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "comprova els patrons del començament del nom del fitxer"
-
-#: src/tar.c:799
-#, 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:801
-msgid "case sensitive matching (default)"
-msgstr "comprova diferències majúscules/minúscules (per defecte)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "fa servir comodins (per defecte a les exclusions)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "concordància exacte a les cadenes"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "els comodins no han de concordar amb «/»"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "els comodins han de concordar amb «/» (per defecte a les exclusions)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Sortida informativa:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "llista els fitxers processats detalladament"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "PARAULA CLAU"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "control d'avisos"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ACCIÓ"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "executa ACCIÓ a cada punt de comprovació"
 
-#: src/tar.c:827
+#: src/tar.c:737
 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:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SENYAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2232,35 +2272,35 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. També s'accepta els noms sense "
 "el prefix SIG"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "mostra l'hora de modificació del fitxer en UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "Mostra l'hora del fitxer amb alta precisió"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "envia la sortida detallada al FITXER"
 
-#: src/tar.c:840
+#: src/tar.c:750
 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:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "demana la confirmació per cada acció"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "mostra els valors per defecte de tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "mostra els intervals vàlids pels camps del fitxer instantània"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2268,33 +2308,33 @@ msgstr ""
 "quan es llisti o s'extregui, llista tots els directoris que no es "
 "corresponguin amb el criteri de cerca"
 
-#: src/tar.c:851
+#: src/tar.c:761
 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:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "ESTIL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "més caràcters de cometes des de CADENA"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "deshabilita els caràcters de cometa de la CADENA"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Opcions de compatibilitat:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2302,55 +2342,62 @@ msgstr ""
 "quan es crea, el mateix que --old-archive; quan s'extreu, el mateix que --no-"
 "same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Altres opcions:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "desactiva l'ús de certes opcions potencialment perjudicials"
 
-#: src/tar.c:1010
-#, fuzzy
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "«%s» no es pot fer servir amb «%s»"
+
+#: src/tar.c:934
 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»"
+msgstr ""
+"No podeu especificar més d'una opció «-Acdtrux», «--delete» o «--test-label»"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opcions de compressió conflictives"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nom del senyal desconegut: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "No s'ha trobat el fitxer de mostra de la data"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "S'està substituint %s pel format de data desconegut %s"
 
-#: src/tar.c:1140
-#, fuzzy, c-format
+#: src/tar.c:1066
+#, 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:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtra l'arxiu a mitjançant %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
-msgstr "Les opcions vàlides per lopció --quoting-style són:"
+msgstr "Les opcions vàlides per l'opció --quoting-style són:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2358,191 +2405,195 @@ msgstr ""
 "\n"
 "*Aquest* tar va per defecte en:\n"
 
-#: src/tar.c:1330
-#, fuzzy
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
-msgstr "Propietari invàlid"
+msgstr "L'ID del grup o del propietari no és vàlid"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Factor de blocs invàlid"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Longitud de la cinta invàlida"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "valor invàlid del nivell d'increment"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Més d'una data del llindar"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
-msgstr "valor de la versió de lopció de dispersió invalid"
+msgstr "valor de la versió de l'opció de dispersió invalid"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 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:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "El valor --checkpoint no és un enter"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Mode invàlid donat a les opcions"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Número invàlid"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"La opció --preserve es obsoleta, en comptes d'això feu servir --preserve-"
-"permissions --preserve-order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Mida del registre invàlida"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Nombre d'elements invàlid"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Només es permet una opció --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argument de densitat mal format: %s"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densitat desconeguda: «%c»"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "Opcions «-[0-7][lmh]» no suportades per *aquest* tar"
+msgstr "Les opcions «-[0-7][lmh]» no són compatibles amb *aquest* tar"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Error en analitzar el número prop de «%s»"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FITXER]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "No s'ha pogut utilitzar el patró %s "
+msgid "non-option arguments in %s"
+msgstr "el paràmetre %s no és vàlid per %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
 #, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "no es pot dividir la cadena «%s»:%s"
+
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
-msgstr "L'opció antiga «%c» requereix un argument."
+msgstr "L'opció antiga «%c» necessita un argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
-msgstr "--occurrence no te sentit sense una llista de fitxers"
+msgstr "--occurrence no té sentit sense una llista de fitxers"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
-msgstr "Per a múltiples arxius de fitxers es requereix l'opció «-M»"
+msgstr "Per a múltiples arxius de fitxers es necessita l'opció «-M»"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level no té sentit sense --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "No es poden verificar els arxius multi-volum"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "No es poden verificar els arxius comprimits"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "No es poden utilitzar arxius comprimits multi-volum"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "No es poden concatenar arxius comprimits"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option només es pot utilitzar en arxius POSIX"
 
-#: src/tar.c:2560
-#, fuzzy
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr "--pax-option només es pot utilitzar en arxius POSIX"
+msgstr "--acls només es pot fer servir en arxius POSIX"
 
-#: src/tar.c:2565
-#, fuzzy
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr "--pax-option només es pot utilitzar en arxius POSIX"
+msgstr "--selinux només es pot utilitzar en arxius POSIX"
 
-#: src/tar.c:2570
-#, fuzzy
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "--pax-option només es pot utilitzar en arxius POSIX"
+msgstr "--xattrs només es pot utilitzar en arxius POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"No es pot deduir el nom del directori de dalt de tot. Establiu-lo "
+"explícitament amb l'opció --one-top-level=DIR"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 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:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "S'està refusant covardament crear un arxiu buit"
 
-#: src/tar.c:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
-msgstr "Les opcions «-Aru» son incompatibles amb «-f -»"
+msgstr "Les opcions «-Aru» no són compatibles amb «-f -»"
 
-#: src/tar.c:2766
-#, fuzzy
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Heu d'especificar una opció «-Acdtrux» o «--test-label»"
+msgstr "Heu d'especificar una opció «-Acdtrux», «--delete» o «--test-label»"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Se surt amb estat de fallida degut a errors prèvis"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "sentit d'ordenació dels directoris: cap (per defecte), nom o inode"
 
 #: src/update.c:87
 #, c-format
@@ -2592,11 +2643,11 @@ msgid "Malformed extended header: missing newline"
 msgstr "Capçalera estesa mal formada: falta el salt de línia"
 
 #: src/xheader.c:741
-#, fuzzy, c-format
+#, 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:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2605,27 +2656,27 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Capçalera estesa mal formada: %s=%s invàlid"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Capçalera estesa mal formada: excedeix %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, 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"
@@ -2666,7 +2717,7 @@ msgstr "Punt de comprovació d'escriptura %u"
 msgid "Read checkpoint %u"
 msgstr "Punt de comprovació de lectura %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2675,72 +2726,76 @@ msgstr ""
 "paxutils.\n"
 "Les OPCIONS són:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Opcions de creació de fitxers:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "MIDA"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Crea un fitxer de la MIDA indicada"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Escriu al fitxer amb NOM, en comptes de la sortida estàndard"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Llegeix els noms dels fitxers del FITXER"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T llegeix els noms acabats en nul"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Omple el fitxer amb el PATRÓ indicat. El PATRÓ és «per defecte» o «zeros»"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Mida d'un bloc per fitxer dispers"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Genera un fitxer dispers. La resta de la línia de comandes indica el mapa "
 "del fitxer"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "ÒFSET"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Cerca l'òfset donat abans d'escriure les dades"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Opcions de les estadístiques dels fitxers:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Mostra el contingut de l'estructura stat per cadascun dels fitxers indicats. "
 "El FORMAT per defecte és:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Opcions d'execució sincrónica:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPCIÓ"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2748,22 +2803,22 @@ msgstr ""
 "Executa ARGS. Útil amb --checkpoint i i una entre --cut, --append, --touch, "
 "--unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Realitzar les accions donades (mirar avall) quan s'arrivi al punt de "
 "comprovació NÚMERO"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Defineix la data per a la següent opció --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Mostra els punts de comprovació executats i l'estat de sortida de la COMANDA"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2771,176 +2826,172 @@ msgstr ""
 "Accions d'execució sincrónica. Aquestes son executades quan s'arriba al "
 "númerode punts de comprovació donat per --checkpoint"
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
-"Talla el FITXER a la mida especificada amb lopció --length prèvia (o 0, si "
+"Talla el FITXER a la mida especificada amb l'opció --length prèvia (o 0, si "
 "no s'ha especificat)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
-"Afegeix MIDA bytes al FITXER. MIDA s'ha especificat amb lopció --length "
+"Afegeix MIDA bytes al FITXER. MIDA s'ha especificat amb l'opció --length "
 "prèvia."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Actualitza les hores d'accés i modificació del FITXER"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Executa COMANDA"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Desfés l'enllaç del FITXER"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Mida invàlida: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Número fora de l'abast permés: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Mida negativa: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "Ha fallat la petició d'stat(%s)"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "mida del fitxer sol·licitada %lu, actual %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "el fitxer creat no és dispers"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Error en analitzar el número prop de «%s»"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Format de data desconegut"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "no es pot obrir «%s»"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "no es pot cercar"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "el nom del fitxer conté un caràcter nul"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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ó "
+"no es poden generar fitxers dispersos a la sortida estàndard, empreu l'opció "
 "--file"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "màscara incorrecta (prop de «%s»)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Camp desconegut «%s»"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "no es pot definir el temps de «%s»"
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "no es pot desfer l'enllaç «%s»"
+msgstr "no es pot truncar «%s»"
 
-#: tests/genfile.c:701
-#, fuzzy, c-format
+#: tests/genfile.c:769
+#, c-format
 msgid "command failed: %s"
-msgstr "L'ordre %s ha fallat"
+msgstr "ha fallat la comanda: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "no es pot desfer l'enllaç «%s»"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "La comanda ha finalitzat amb èxit\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "La comanda ha fallat amb estat %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "La comanda ha finalitzat amb la senyal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "La comanda ha parat amb la senyal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "La comanda ha abocat l'ànima\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Comanda finalitzada\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat requereix noms de fitxers"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "ordena els noms a extreure per que coincideixin amb els de l'arxiu"
+#~ msgid "same as both -p and -s"
+#~ msgstr "el mateix que per -p i -s"
 
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
 #~ msgstr ""
-#~ "--occurrence no es pot utilitzar en el mode d'operació que ha requerit"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "No es pot combinar --listed-incremental amb --newer"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order no és compatible amb --listed-incremental"
+#~ "L'opció --preserve es obsoleta, en comptes d'això feu servir --preserve-"
+#~ "permissions --preserve-order"
 
 #~ msgid "Field too long while reading snapshot file"
 #~ msgstr "Camp massa llarg en llegir el fitxer d'instantània"
@@ -2954,9 +3005,22 @@ 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 "Invalid group"
 #~ msgstr "Grup invàlid"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr ""
+#~ "--occurrence no es pot utilitzar en el mode d'operació que ha requerit"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "No es pot combinar --listed-incremental amb --newer"
+
+#~ msgid "--preserve-order is not compatible with --listed-incremental"
+#~ msgstr "--preserve-order no és compatible amb --listed-incremental"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "Longitud de la capçalera estesa està fora del rang permès"
 
index 26eba01a7fc916d76330af61e14e7cfa529abcd4..c0a5faef16b2e16214fb138c8ecf951f56865688 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index 5ba69e48829c76eee32394a71b8374717f0ccb81..611553f9249720a18b733c11905492011c780817 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -2,23 +2,24 @@
 # Copyright (C) 1997 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Vladimir Michl <Vladimir.Michl@seznam.cz>, 1997.
-# Petr Pisar <petr.pisar@atlas.cz>, 2009, 2010, 2011, 2013.
+# Petr Pisar <petr.pisar@atlas.cz>, 2009, 2010, 2011, 2013, 2014, 2016.
 #
 # 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ěž
 # respektuje.
 #
 # extract → rozbalit (celý archiv), vybalit (některé soubory z archivu)
+# member → prvek
 # tape → páska (rod ženský, vzor žena; ne pásek)
 # seek offset → pozice posunu (pásky)
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.27\n"
+"Project-Id-Version: tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-07 19:06+0200\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-15 20:20+01:00\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -27,46 +28,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argument %s je pro %s neplatný"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argument %s není pro %s jednoznačný"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Platné argumenty jsou:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: parametr ARGP_HELP_FMT vyžaduje hodnotu"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Neznámý parametr ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Nepořádek v ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -74,146 +75,151 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Použití:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "nebo: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [PŘEPÍNAČ…]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, 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 <translation-team-cs@lists.sourceforge.net> (česky).\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Neznámá systémová chyba"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "vypíše tuto nápovědu"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 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:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "JMÉNO"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "nastaví název programu"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEKUNDY"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "zastaví se na SEKUNDY sekund (implicitně 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "vypíše verzi programu"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(CHYBA PROGRAMU) Verze není známa!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Příliš mnoho argumentů\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(CHYBA PROGRAMU) Přepínač by měl být znám!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "chyba zápisu"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: přepínač „%s“ není jednoznačný; možnosti:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: přepínač „%s“ není jednoznačný\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: přepínač „--%s“ vyžaduje argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: nerozpoznaný přepínač „--%s“\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: nerozpoznaný přepínač „%c%s“\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: neplatný přepínač -- „%c“\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: přepínač vyžaduje argument -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: přepínač „-W %s“ není jednoznačný\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "paměť vyčerpána"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "pracovní adresář nelze si nelze zapamatovat"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "do původního pracovního adresáře se nelze vrátit"
@@ -239,11 +245,11 @@ msgstr "do původního pracovního adresáře se nelze vrátit"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "„"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "“"
 
@@ -253,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[aAyY].*"
 
@@ -263,16 +269,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN].*"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Zabaleno kým: %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Zabaleno kým: %s\n"
@@ -280,11 +286,11 @@ msgstr "Zabaleno kým: %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -300,7 +306,7 @@ msgstr ""
 "Není poskytována ŽÁDNÁ ZÁRUKA, jak jen zákon dovoluje.\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Napsal(a) %s.\n"
@@ -308,13 +314,13 @@ msgstr "Napsal(a) %s.\n"
 # Vzhledem k tomu, že je nepravděpodobné, že by všemi autory byly ženy, tak
 # si uchýlíme k šovinisticky zjednodušenému „napsali“.
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Napsali %s a %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Napsali %s, %s a %s.\n"
@@ -322,7 +328,7 @@ msgstr "Napsali %s, %s a %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -334,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -346,7 +352,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -358,7 +364,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -370,7 +376,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -384,7 +390,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -398,7 +404,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -413,7 +419,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -424,7 +430,7 @@ msgstr ""
 "připomínky k překladu na adrese <translation-team-cs@lists.sourceforge.net>\n"
 "(česky).\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
@@ -432,17 +438,17 @@ msgstr ""
 "Připomínky k překladu (česky) na: <translation-team-cs@lists.sourceforge."
 "net>\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Domovská stránka %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Domovská stránka programu %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Obecná pomoc při používání softwaru GNU: <http://www.gnu.org/gethelp/>\n"
@@ -519,21 +525,21 @@ msgstr[0] "%s: Zapsáno pouze %lu z %lu bajtu"
 msgstr[1] "%s: Zapsáno pouze %lu z %lu bajtů"
 msgstr[2] "%s: Zapsáno pouze %lu z %lu bajtů"
 
-# member name je část cesty názvy souboru 
+# member names jsou názvy souborů v archivu
 #: lib/paxnames.c:140
 #, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "OdstraÅ\88uje se Ãºvodní â\80\9e%sâ\80\9e z názvů prvků"
+msgstr "OdstraÅ\88uje se Ãºvodní â\80\9e%sâ\80\9c z názvů prvků"
 
 #: lib/paxnames.c:141
 #, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "OdstraÅ\88uje se Ãºvodní â\80\9e%sâ\80\9e z cílů pevného odkazu"
+msgstr "OdstraÅ\88uje se Ãºvodní â\80\9e%sâ\80\9c z cílů pevného odkazu"
 
-# member name je část cesty názvy souboru 
+# member name je název souboru v archivu
 #: lib/paxnames.c:154
 msgid "Substituting `.' for empty member name"
-msgstr "Prázdný prvek názvu se nahradí „.“"
+msgstr "Prázdný název prvku se nahradí „.“"
 
 #: lib/paxnames.c:155
 msgid "Substituting `.' for empty hard link target"
@@ -613,8 +619,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "ČÍSLO"
 
@@ -622,10 +628,11 @@ msgstr "ČÍSLO"
 msgid "set debug level"
 msgstr "nastaví úroveň ladění"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "SOUBOR"
 
@@ -638,7 +645,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:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "příliš mnoho argumentů"
@@ -647,67 +654,66 @@ msgstr "příliš mnoho argumentů"
 msgid "Garbage command"
 msgstr "Neznámý příkaz"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Toto pravděpodobně není tar archiv"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Celkem přečteno bajtů"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Celkem zapsáno bajtů"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Celkem smazáno bajtů: %s\n"
+msgstr "Celkem smazáno bajtů"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(roura)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Čtení obsahu archivu z terminálu se zamítá (nechybí přepínač -f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Zápis obsahu archivu do terminálu se zamítá (nechybí přepínač -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Chybná hodnota pro velikost záznamu"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Název archivu nebyl zadán"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Stdin/Stdout archiv nelze ověřit"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archiv je komprimován. Použijte přepínač %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Komprimovaný archiv nelze aktualizovat"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Páska na začátku, končím"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Příliš mnoho chyb, končím"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -715,7 +721,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:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -723,37 +729,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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek se nezastavil na hranici záznamu"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: obsahuje neplatné číslo svazku"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "U čísla svazku nastalo přetečení"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Místo uživatelské odpovědi byl zadán konec souboru"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROVÁNÍ: Archiv je nekompletní"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -764,65 +770,65 @@ msgstr ""
 " q                   Ukončit program tar\n"
 " y nebo odřádkování  Pokračovat v operaci\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !                   Vytvořit podshell\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?                   Vypsat tuto nápovědu\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Není nový svazek; končím.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Název souboru nebyl zadán. Zkuste to znovu.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, 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:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "příkaz %s selhal"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nepokračuje na tomto svazku"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je špatné délky (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Pro vyhodnocení vzorku %s musí být archiv pojmenován"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Svazek %s neodpovídá vzorku %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -830,7 +836,7 @@ 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:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "zápis neskončil na konci hranice bloku"
 
@@ -842,20 +848,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Obsahy se liší"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Neočekávaný konec archivu"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Typ souboru se liší"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Práva se liší"
 
@@ -871,7 +877,7 @@ msgstr "GID se liší"
 msgid "Mod time differs"
 msgstr "Čas poslední modifikace se liší"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Velikost se liší"
 
@@ -880,37 +886,37 @@ msgstr "Velikost se liší"
 msgid "Not linked to %s"
 msgstr "Není odkazem na %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symbolický odkaz se liší"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Číslo zařízení se liší"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Ověřuji "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 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:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Archiv obsahuje transformované názvy souborů."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Při kontrole může selhat nalezení původních souborů."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -918,46 +924,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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Osiřelý nulový blok na pozici %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, 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:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "hodnota %s typu %s je mimo rozsah %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Generuji záporné osmičkové hlavičky"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, 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:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -965,55 +971,55 @@ 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "obsah nezpracován"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Neznámý typ souboru; soubor ignorován"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Chybí odkazy na %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: soubor není změněn; neaktualizován"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: soubor je archiv; nearchivován"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "adresář nezpracován"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: soubor byl během čtení změněn"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket ignorován"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: dveře ignorovány"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Přeskakuji na další hlavičku"
 
@@ -1031,54 +1037,54 @@ msgstr "%s: nemožně stará časová značka %s"
 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:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Neočekávaná inkonzistence, při vytváření adresáře"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: existující soubor se přeskakuje"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Souvisle uložené soubory rozbaluji jako obyčejné soubory"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Zkouším rozbalit symbolické odkazy jako pevné odkazy"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Neočekávaná hlavička dlouhého názvu"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Současný soubor %s je novější nebo stejně starý"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tento soubor nebylo možné zálohovat"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s nelze přejmenovat na %s"
@@ -1128,16 +1134,16 @@ msgstr "Neplatné číslo i-uzlu"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: bajt %s: %s %.*s… je příliš dlouhý"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Neočekávaný konec souboru snímku"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: bajt %s: %s %s je následován neplatným bajtem 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1146,200 +1152,200 @@ msgstr ""
 "%s: bajt %s: (platný rozsah %s–%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: bajt %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: bajt %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Chybí uzávěr záznamu"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Chybný formát přírůstkového souboru"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nepodporovaná verze přírůstkového formátu: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, 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:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Poškozený dumpdir: „X“ duplikováno"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Poškozený dumpdir: prázdný název v „R“"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Poškozený dumpdir: „R“ není před „T“"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Poškozený dumpdir: prázdný název v „T“"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Poškozený dumpdir: „X“ nebylo nikdy použito"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Podle šablony %s nelze vytvořit dočasný adresář"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, 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:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Mažu %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Nelze smazat"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Vynechávám"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok NUL **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec souboru **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiv obsahuje zastaralé base-64 hlavičky"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " odkaz na %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " neznámý souborový typ %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Dlouhý odkaz--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Dlouhý název--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Hlavička svazku--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Pokračováno od %s bajtu--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Vytvářím adresář:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Přejmenovávám %s na %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: nelze přejmenovat na %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Přejmenovávám %s zpět na %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Soubor smazán dříve než mohl být přečten"
@@ -1352,30 +1358,186 @@ msgstr "potomek"
 msgid "interprocess channel"
 msgstr "meziprocesový kanál"
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Výběr názvu místního souboru:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "ADRESÁŘ"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "změní adresář na ADRESÁŘ"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "seznam jmen souborů na rozbalení nebo zabalení získá ze SOUBORU"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T čte názvy zakončené nulovým znakem, zapne --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "zruší účinek předchozího přepínače --null"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"odčiní citování (escapování) názvů vstupních souborů nebo prvků (implicitní)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "neodčiní citování (escapování) názvů vstupních souborů nebo prvků"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T čte názvy souborů doslovně (přepínače se nezpracovávají)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr "-T považuje názvy souborů začínající pomlčkou za přepínače (výchozí)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "VZOR"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "vynechá soubory, které odpovídají VZORU"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "vynechá vzorky vyjmenované v SOUBORU"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"vynechá obsah adresářů obsahujících CACHEADR.ZNAČKA, kromě souboru značky "
+"samotného"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "vynechá vše pod adresáři obsahujícími CACHEADR.ZNAČKA"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "vynechá adresáře obsahující CACHEADR.ZNAČKA"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "vynechá obsah adresářů obsahujících SOUBOR, vyjma SOUBORU samotného"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "čte vzorky na vynechání pro každý adresář ze SOUBORU, pokud existuje"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"čte vzorky na vynechání pro každý adresář a jeho podadresáře ze SOUBORU, "
+"pokud existuje"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "vynechá vše pod adresáři obsahujícími SOUBOR"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "vynechá adresáře obsahující SOUBOR"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "vynechá adresáře systému správy verzí"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "čte vzorky na vynechání ze souboru ignorací verzovacího systému"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "vynechá soubory záloh a zámků"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "sestupuje rekurzivně do adresářů (implicitní)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "zabrání automatickému sestupu do adresářů"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "vzory se testují název souboru od začátku"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "vzory se testují po každém „/“ (implicitní u vyloučení)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "ignoruje velikost písmen"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "testování je citlivé na velikost (implicitní)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "použije žolíkové znaky (implicitní u vyloučení)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "testuje se přesný řetězec"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "žolíkové znaky zahrnují „/“ (implicitní u vyloučení)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "žolíkové znaky nezahrnují „/“"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "příkazový řádek"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: seznam souborů požadovaný z %s již načten z %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "řetězec „%s“ nelze rozdělit: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: načtený název souboru obsahuje nulový znak"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "V názvech souborů se nachází žolíkové znaky"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1383,47 +1545,47 @@ 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:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: V archivu nenalezen"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Požadovaný výskyt nebyl v archivu nalezen"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Název archivu se neodpovídá"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 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:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Oba dva přepínače „-%s“ a „-%s“ chtějí standardní vstup"
+msgstr "Oba dva přepínače „%s“ a „%s“ chtějí standardní vstup"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Neplatný formát archivu"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU rozšíření požadovány na nekompatibilním formátu archivu"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1431,7 +1593,7 @@ msgstr ""
 "Neznámý styl citování „%s“. Seznam stylů lze získat příkazem „%s --quoting-"
 "style=help“."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1450,7 +1612,7 @@ msgstr ""
 "tar.\n"
 "  tar -xf archiv.tar           # Rozbalí všechny soubory z archiv.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1472,79 +1634,87 @@ msgstr ""
 "                  existují, jinak tvoří jednoduché\n"
 "  never, simple   tvoří vždy jednoduché záložní kopie souborů\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Hlavní operační režim:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "vypíše obsah archivu"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "vybalí soubory z archivu"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "vytvoří nový archiv"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "hledá rozdíly mezi archivem a systémem souborů"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "připojí soubory na konec archivu"
 
-#: src/tar.c:432
+#: src/tar.c:408
 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:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "připojí k archivu tarové soubory"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "smaže z archivu (ne na magnetických páskách!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "otestuje jmenovku archivního svazku a skončí"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Operační modifikátory:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "zachází s řídkými soubory efektivně"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TYP"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "technika rozpoznávání děr"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "HLAVNÍ[.VEDLEJŠÍ]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "nastaví verzi řídkého formátu (implikuje --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "zpracuje přírůstkové zálohy starého formátu GNU"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "zpracuje přírůstkové zálohy nového formátu GNU"
 
-#: src/tar.c:455
+#: src/tar.c:433
 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:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 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, --"
@@ -1556,137 +1726,146 @@ 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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "v archivu se lze posunovat"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "v archivu se lze posunovat"
 
-#: src/tar.c:469
+#: src/tar.c:447
 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:472
+#: src/tar.c:450
 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:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Ovládání přepisování:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "pokusí se zkontrolovat archiv po té, co bude zapsán"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "odstraní soubory po té, co budou přidány do archivu"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "při rozbalovaní nenahrazuje existující soubory, považuje je za chyby"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "při rozbalovaní nenahrazuje existující soubory, potichu je přeskočí"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "při rozbalování existující soubory přepisuje"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "před vybalením každého souboru jej odstraní"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "před vybalením adresáře vytvoří prázdnou hierarchii"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "zachovává metadata existujících adresářů"
 
-#: src/tar.c:501
+#: src/tar.c:479
 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:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "při rozbalování zachovává existující symbolické odkazy na adresáře"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "ADRESÁŘ"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "vytvoří podadresář, aby zabránil vzniku volných souborů"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Výběr výstupního proudu:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "soubory vybaluje na standardní výstup"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "PŘÍKAZ"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "vybalené soubory pošle rourou jinému programu"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "ignoruje návratový kód potomků"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "nenulový návratový kód potomků považuje za chybu"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Zacházení s atributy souborů:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "vynutí JMÉNO jako vlastníka vkládaných souborů"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "vynutí JMÉNO jako skupinu vkládaných souborů"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "použije SOUBOR k převodu UID a jmen vlastníků souborů"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "použije SOUBOR k převodu GID a jmen vlastníků souborů"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATUM_NEBO_SOUBOR"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ZMĚNY"
 
-#: src/tar.c:536
+#: src/tar.c:520
 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:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODA"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1696,11 +1875,11 @@ msgstr ""
 "(METODA=„REPLACE“; implicitní), nebo nenastavením časů v prvním pořadí "
 "(METODA=„system“)"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "nevybaluje čas změny obsahu souboru"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1708,19 +1887,19 @@ msgstr ""
 "pokusí se vybalit soubory se stejným vlastníkem jako je uveden v archivu "
 "(výchozí pro superuživatele)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 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:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "pro jména uživatel/skupin vždy použije čísla"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "vybaluje informace o právech souborů (implicitní pro superuživatele)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1728,16 +1907,12 @@ msgstr ""
 "při vybalování práv z archivu použije uživatelovu umask (implicitní pro "
 "běžné uživatele)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr "argumenty prvku se vypisují ve stejném pořadí jako soubory v archivu"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "stejné jako -p -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1745,187 +1920,187 @@ msgstr ""
 "pozdrží nastavení časů modifikace a práv rozbalovaných adresářů až do "
 "dokončení rozbalování"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "zruší účinek přepínače --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "POŘADÍ"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "pořadí řazení adresářů: none (žádné, výchozí) nebo name (název)"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Zacházení s rozšířenými atributy souborů:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Zapne podporu rozšířených atributů"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Vypne podporu rozšířených atributů"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASKA"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "určuje vzor klíčů rozšířených atributů k zahrnutí"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "určuje vzor klíčů rozšířených atributů k vyloučení"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Zapne podporu pro kontext SELinuxu"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Vypne podporu pro kontext SELinuxu"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Zapne podporu pro posixové ACL"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Vypne podporu pro posixové ACL"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Výběr a přepínání zařízení:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIV"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "pro archiv požije soubor zařízení ARCHIV"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "namísto příkazu rmt použije PŘÍKAZ"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "namísto rsh použije PŘÍKAZ"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "určuje mechaniku a hustotu"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "vytvoří/vypíše/rozbalí vícesvazkový archiv"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "po zapsaní ČÍSLO × 1024 bajtů vymění pásku"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "na konci každé pásky spustí skript (implikuje -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "použije/aktualizuje číslo svazku v SOUBORU"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Bloky zařízení:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKY"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKŮ × 512 bajtů na záznam"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "ČÍSLO bajtů na záznam, násobek 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "v archivu ignoruje vynulované bloky (znamená EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 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:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Výběr formátu archivu:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMÁT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "vytvoří archiv daného formátu"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMÁT je jeden z následujících:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "starý formát taru V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "formát taru GNU <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "formát taru GNU 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "formát POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "formát POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "stejné jako pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "stejné jako --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "stejné jako --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "klíčové_slovo[[:]=hodnota][,klíčové_slovo[[:]=hodnota]]…"
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "řídicí klíčová slova paxu"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1933,185 +2108,83 @@ 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:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Přepínače komprese:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "kompresní program určí podle přípony archivu"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "kompresní program neurčí podle přípony archivu"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROGRAM"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "archiv protáhne PROGRAMEM (musí znát -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Výběr místního souboru:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "změní adresář na ADRESÁŘ"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "seznam jmen souborů na rozbalení nebo zabalení získá ze SOUBORU"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T čte názvy zakončené nulovým znakem, vypne -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "zruší účinek předchozího přepínače --null"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"odčiní citování (escapování) názvů souboru načtených přes -T (implicitní)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "nezruší citování (escapování) názvů souboru načtených přes -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "VZOR"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "vynechá soubory, které odpovídají VZORU"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "vynechá soubory vyjmenované v SOUBORU"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"vynechá obsah adresářů obsahujících CACHEADR.ZNAČKA, kromě souboru značky "
-"samotného"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "vynechá vše pod adresáři obsahujícími CACHEADR.ZNAČKA"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "vynechá adresáře obsahující CACHEADR.ZNAČKA"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "vynechá vše pod adresáři obsahujícími SOUBOR"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "vynechá adresáře obsahující SOUBOR"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "vynechá adresáře systému správy verzí"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "vynechá soubory záloh a zámků"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "zabrání automatickému sestupu do adresářů"
-
-#: src/tar.c:757
+#: src/tar.c:691
 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:759
-msgid "recurse into directories (default)"
-msgstr "sestupuje rekurzivně do adresářů (implicitní)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "neodstraní z názvů souborů úvodní „/“"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "SLOŽKA_NÁZVU"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "čtení archivu začne na složce SLOŽKA_NÁZVU"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "ukládá jen soubory novější než DATUM_NEBO_SOUBOR"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "při změně dat porovná datum i čas"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "STRATEGIE"
 
-#: src/tar.c:774
+#: src/tar.c:706
 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:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "ŘETĚZEC"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2119,97 +2192,59 @@ 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:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Transformace názvů souborů:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "VÝRAZ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "názvy souborů transformuje pomocí nahrazovacího VÝRAZU sedu"
 
-#: src/tar.c:792
-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:795
-msgid "ignore case"
-msgstr "ignoruje velikost písmen"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "vzory se testují název souboru od začátku"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "vzory se testují po každém „/“ (implicitní u vyloučení)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "testování je citlivé na velikost (implicitní)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "použije žolíkové znaky (implicitní u vyloučení)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "testuje se přesný řetězec"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "žolíkové znaky nezahrnují „/“"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "žolíkové znaky zahrnují „/“ (implicitní u vyloučení)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informativní výstup:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "vypisuje zpracovávané soubory"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "KLÍČOVÉ_SLOVO"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "řídí varování"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "AKCE"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "v každém kontrolním bodu vykoná AKCI"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "hlásí, že nebyly zpracovány všechny odkazy"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNÁL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2220,35 +2255,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:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "časy změn obsahu souborů vypisuje v UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "časy souborů vypisuje v plném znění"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "informativní výstup pošle do SOUBORU"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "každou zprávu opatří číslem bloku uvnitř archivu"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "na každou akcí žádá potvrzení"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "zobrazí implicitní argumenty taru"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "zobrazí platné rozsahy pro položky souborů snímků"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2256,31 +2291,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:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "zobrazuje názvy souborů a archivů po transformaci"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STYL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "cituje navíc znaky z ŘETĚZCE"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "zakáže citování znaků z ŘETĚZCE"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Přepínače pro kompatibilitu"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2288,15 +2323,22 @@ msgstr ""
 "při vytváření archivu má stejný význam jako --old-archive, při rozbalování "
 "jako --no-same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Další přepínače:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 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:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "Přepínač „%s“ nelze použít s „%s“"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2304,40 +2346,40 @@ msgstr ""
 "Nemůže být zadán více jak jeden přepínač z „-Acdtrux“, „--delete“ nebo „--"
 "test-label“"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Odporující si kompresní přepínače"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Neznámý název signálu: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Soubor, ze kterého se má vzít datum a čas, nebyl nalezen"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, 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:1140
+#: src/tar.c:1066
 #, 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:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "archiv protáhne skrze filtr %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Pro přepínač --quoting-style jsou platné argumenty:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2345,115 +2387,120 @@ msgstr ""
 "\n"
 "Implicitní přepínače *tohoto* taru:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Neplatné ID vlastníka nebo skupiny"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Neplatný počet bajtů na záznam"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Neplatná délka pásky"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Chybná hodnota úrovně přírůstku"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Více než jedeno počáteční datum"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Neplatná hodnota verze řídkého formátu"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' není na této platformě podporován"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "hodnota --checkpoint není celé číslo"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Zadána chybná práva"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Neplatné číslo"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Přepínač --preserve je zastaralý, místo něj používejte --preserve-"
-"permissions --preserve-order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Chybná velikost záznamu"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Velikost záznamu musí být násobek %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Neplatný počet prvků"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Povolen je jen jeden přepínač --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Neplatný argument hustoty: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Neznámá hustota: „%c“"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: umístění chyby"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "Chyba při rozebírání %s"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[SOUBOR]…"
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Přepínač --%s nelze použít s %s"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "nepřepínačový argument v %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "TAR_OPTIONS nelze rozdělit: %s"
+
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Starý přepínač „%c“ vyžaduje argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "bez seznamu souborů nemá --occurrence smysl"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Více archivačních souborů vyžaduje přepínač „-M“"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level bez --listed-incremental postrádá smysl"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2461,70 +2508,78 @@ 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Vícesvazkový archiv není možné ověřit"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Komprimovaný archiv nelze ověřit"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Vícesvazkový komprimovaný archiv nelze vytvořit"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimované archivy nelze zřetězit"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 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:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "Přepínač --acls lze použít jen na posixových archivech"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "Přepínač --selinux lze použít jen na posixových archivech"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "Přepínač --xattrs lze použít jen na posixových archivech"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Název vrcholového adresáře nelze odvodit; prosím, zadejte jej explicitně "
+"pomocí --one-top-level=ADRESÁŘ"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 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:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vytvoření prázdného archivu odmítnuto."
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 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:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Musíte zadat jeden z přepínačů „-Acdtrux“, „--delete“ nebo „--test-label“"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, 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/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
+"pořadí řazení adresářů: none (žádné, výchozí), name (název) nebo inode "
+"(iuzel)"
 
 #: src/update.c:87
 #, c-format
@@ -2579,7 +2634,7 @@ msgstr "Chybná rozšířená hlavička: chybí odřádkování"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignoruje se neznámé klíčové slovo „%s“ rozšířené hlavičky"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2588,27 +2643,27 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Chybná rozšířená hlavička: %s=%s není platné"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Chybná rozšířená hlavička: nadbytečná %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Chybná rozšířená hlavička: neplatný %s: lichý počet hodnot"
@@ -2649,7 +2704,7 @@ msgstr "Kontrolní bod zápisu %u"
 msgid "Read checkpoint %u"
 msgstr "Kontrolní bod čtení %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2657,69 +2712,73 @@ msgstr ""
 "genfile pracuje s datovými soubory testovacího balíku GNU paxutils.\n"
 "PŘEPÍNAČE jsou:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Přepínače tvorby souboru:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "VELIKOST"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Vytvoří soubor zadané VELIKOSTI"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Místo na standardní výstup píše do souboru JMÉNO"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Názvy souborů čte ze SOUBORU"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T čte názvy zakončené nulovými znaky"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Vyplní soubor zadaným VZOREM. VZOR je „default“ (výchozí) nebo „zeros“ (nuly)"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Velikost bloku pro řídké soubory"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Vytvoří řídký soubor. Zbytek příkazové řádku definuje mapu souboru."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "POZICE"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Před zápisem dat se přesune na zadanou POZICI"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Přepínače statistiky souboru:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "U každého zadaného souboru vypíše obsah struktury stat. Implicitní FORMÁT je:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Přepínače synchronního vykonávání:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "PŘEPÍNAČ"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2727,19 +2786,19 @@ msgstr ""
 "Provede ARGUMENTY. Užitečné s --checkpoint a jedním z --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Provede zadanou akci (vizte níže) při dosažení kontrolního bodu ČÍSLO"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Nastaví datum pro následující přepínač --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Zobrazuje prováděné kontrolní body a návratové kódy PŘÍKAZU"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2747,7 +2806,7 @@ msgstr ""
 "Synchronní vykonávání akcí. Tyto budou provedeny, když bude dosaženo číslo "
 "kontrolního bodu zadaného přepínačem --checkpoint."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2755,154 +2814,164 @@ msgstr ""
 "Zkrátí SOUBOR na velikost zadanou předchozím přepínačem --length (nebo na 0, "
 "není-li uveden)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "K SOUBORU připojí VELIKOST bajtů. VELIKOST se zadává předcházejícím "
 "přepínačem --length."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Aktualizuje časy přístupu a změny obsahu SOUBORU"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Vykoná PŘÍKAZ"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Smaže (unlink) SOUBOR"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Neplatná velikost: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Číslo je mimo povolený rozsah: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Záporná velikost: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) selhalo"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "požadovaná délka souboru %'lu, aktuální %'lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "vytvořený soubor není řídký"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Chyba při rozebírání čísla poblíž „%s“"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Neznámý formát data"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENT…]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "„%s“ nelze otevřít"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "v souboru se nelze pohybovat"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "název souboru obsahuje nulový znak"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "nesprávná maska (poblíž „%s“)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Neznámá položka „%s“"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "Souboru „%s“ nelze nastavit čas"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "„%s“ nelze zkrátit"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "příkaz selhal: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "„%s“ nelze odstranit (unlink)"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Příkaz skončil úspěšně\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Příkaz selhal s kódem %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Příkaz skončil signálem %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Příkaz pozastaven signálem %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Příkaz skončil výpisem obrazu paměti\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Příkaz ukončen\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat potřebuje název souboru"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "stejné jako -p -s"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Přepínač --preserve je zastaralý, místo něj používejte --preserve-"
+#~ "permissions --preserve-order"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "--occurrence nelze použít s %s"
 
index f08185b483863b4ab58c0d49825d92871965902b..f7f725f1c08ccefc7164631bcb72a10f78a91125 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index cad028abb906130bd8f8d62f2d51d5589201992d..17ee07e5da6de7a23791c9a7484587f3888922c0 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -4,14 +4,14 @@
 #
 # Claus Hindsgaul <claus_h@image.dk>, 2001.
 # Keld Jørn Simonsen <keld@keldix.com>, 2000-2001,2009,2010.
-# Keld Simonsen <keld@keldix.com>, 2010-2011.
-#: src/create.c:1574
+# Keld Simonsen <keld@keldix.com>, 2010-2011, 2015.
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.26\n"
+"Project-Id-Version: GNU tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2011-04-12 10:18+0100\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2015-04-26 10:18+0200\n"
 "Last-Translator: Keld Simonsen <keld@keldix.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "Language: da\n"
@@ -21,46 +21,46 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Lokalize 1.0\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "ugyldigt argument %s for %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "flertydigt argument '%s' for %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Gyldige argumenter er:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Ukendt ARGP_HELP_FMT-parameter"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Skidt i ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -68,143 +68,148 @@ msgstr ""
 "Obligatoriske eller valgfri argumenter til lange flag er også obligatoriske "
 "eller valgfri for alle tilsvarende korte flag."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Brug:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  eller: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [FLAG...]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+#: gnu/argp-help.c:1688
+#, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Rapportér fejl til %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Ukendt systemfejl"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "vis denne hjælpetekst"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "vis en kort hjælpemeddelelse"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NAVN"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "angiv progravnavnet"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "vent i SEK sekunder (standardværdi 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "vis programversion"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAMFEJL) Ingen version kendt!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: For mange argumenter\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMFEJL) Flag burde være genkendt!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "skrivefejl"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
-#, fuzzy, c-format
+#: gnu/getopt.c:575 gnu/getopt.c:604
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: flag '%s' er flertydigt\n"
+msgstr "%s: flag '%s' er flertydigt; muligheder:"
+
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: flag '-W %s' er flertydigt\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: flag '--%s' tillader ikke et argument\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: flag '--%s' kræver et argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: ukendt flag '--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: ukendt flag '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ugyldigt flag -- '%c'\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: flag kræver et argument -- '%c'\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: flag '-W %s' er flertydigt\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: flag '-W %s' kræver et argument\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "hovedlager opbrugt"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "Kan ikke notere nuværende arbejdskatalog"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "Kan ikke gå tilbage til oprindeligt arbejdskatalog"
@@ -230,11 +235,11 @@ msgstr "Kan ikke g
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "'"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -244,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[jJyY]"
 
@@ -254,16 +259,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakket af %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakket af %s\n"
@@ -271,11 +276,11 @@ msgstr "Pakket af %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -291,19 +296,19 @@ msgstr ""
 "Der er ikke NOGEN SOM HELST GARANTI, i det omfang som lov tillader.\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Skrevet af %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Skrevet af %s og %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Skrevet af %s, %s og %s.\n"
@@ -311,7 +316,7 @@ msgstr "Skrevet af %s, %s og %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -323,7 +328,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +352,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,7 +364,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -373,7 +378,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -387,7 +392,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -402,7 +407,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -411,22 +416,22 @@ msgstr ""
 "\n"
 "Rapportér fejl til: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Rapportér %s fejl til: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s hjemmeside: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s hjemmeside: <http://www.gnu.org/software/%s/>.\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Generel brugerhjælp for GNU-programmel: <http://www.gnu.org/gethelp/>.\n"
@@ -539,9 +544,9 @@ msgid "Cannot connect to %s: resolve failed"
 msgstr "Kan ikke opkoble til %s: navneopslag mislykkedes"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Kan ikke eksekvere fjern skál"
+msgstr "Kan ikke omdirigere filer for fjern skál"
 
 #: lib/rtapelib.c:516
 #, c-format
@@ -592,8 +597,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NUMMER"
 
@@ -601,10 +606,11 @@ msgstr "NUMMER"
 msgid "set debug level"
 msgstr "sæt fejlsøgningsniveau"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FIL"
 
@@ -617,7 +623,7 @@ msgstr "s
 msgid "cannot open %s"
 msgstr "kan ikke åbne %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "for mange argumenter"
@@ -626,111 +632,110 @@ msgstr "for mange argumenter"
 msgid "Garbage command"
 msgstr "Ugyldig kommando"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Dette ligner ikke et tar-arkiv"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Totalt antal byte læst"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Totalt antal byte skrevet"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Totalt antal byte slettet: %s\n"
+msgstr "Totalt antal byte slettet"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(datakanal)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Nægter at læse arkivindhold fra terminal (manglende -f-flag?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Nægter at skrive arkivindhold til terminal (manglende -f-flag?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Ugyldig værdi for record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Arkivnavn er ikke opgivet"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan ikke verificere standard-ind/standard-ud arkiver"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkivet er komprimeret. Brug flaget %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Kan ikke opdatere komprimerede arkiver"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Ved begyndelsen af båndet, afslutter nu"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "For mange fejl, afslutter"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek stoppede ikke på en postgrænse"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: indeholder ugyldigt delarkivs-nummer"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Overløb på delarkiv-nummer"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Filafslutning hvor svar fra bruger var forventet"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "ADVARSEL: Arkivet er ufuldstændigt"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -742,66 +747,66 @@ msgstr ""
 " q                   Afbryd tar\n"
 " y eller ny linje    Fortsæt handling\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !            Start en ny skál\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?            Udskriv denne liste\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Intet nyt delarkiv; afslutter.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Filnavn ikke angivet, prøv igen.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ugyldigt inddata. Skriv ? for at få hjælp.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "'%s'-kommando mislykkedes"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s fortsætter ikke i dette delarkiv"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s fortsætter ikke i dette delarkiv"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s har forkert størrelse (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkivet er ikke navngivet til at passe med %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Delarkivet '%s' stemmer ikke overens med %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -809,7 +814,7 @@ msgstr ""
 "%s: filnavnet er for langt til at gemmes i hovedet på et GNU-flerdelarkiv, "
 "afkortes"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "skrivning stoppede ikke på en blokgrænse"
 
@@ -820,20 +825,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Indhold er forskelligt"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Uventet filslutning i arkivet"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Filtype er forskellig"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Modus er forskellig"
 
@@ -849,7 +854,7 @@ msgstr "Gruppe-ID er forskellig"
 msgid "Mod time differs"
 msgstr "Modificeringstid er forskellig"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Størrelse er forskellig"
 
@@ -858,138 +863,138 @@ msgstr "St
 msgid "Not linked to %s"
 msgstr "Ikke lænket til %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symbolsk lænke er forskellig"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Enhedsnummer er forskellig"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verificér "
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arkivet indeholder filnavne med indledende prefixer borttaget."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Arkiv indeholder transformerede filnavne."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Verificering kan mislykkes med at finde originalfiler."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "En enkeltstående nulblok ved %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: indeholder et cachekatalog-mærke %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "værdi %s ud af %s interval %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Genererer negative oktale hoveder"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: lænkenavn er for langt; ikke arkiveret"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "indholdet ikke arkiveret"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Ukendt filtype; filen blev ignoreret"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Mangler lænke til %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fil er uændret; ikke arkiveret"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fil er det samme som arkivet; ikke arkiveret"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "katalog ikke arkiveret"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: Fil ændredes mens vi læste den"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: sokkel ignoreret"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: dør ignoreret"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Hopper til næste hoved"
 
@@ -1007,54 +1012,54 @@ msgstr "%s: usandsynligt gammelt tidsstempel %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: tidsstempel %s er %s sekunder ud i fremtiden"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Uventet uoverensstemmelse ved oprettelse af katalog"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s: skipper eksisterende fil"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Udpakker sammenhængende filer som almindelige filer"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 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:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Uventet langt filnavnshoved"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Nuværende %s er nyere eller lige så gammel"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Kunne ikke sikkerhedskopiere denne fil"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Kan ikke omdøbe %s til %s"
@@ -1070,9 +1075,9 @@ msgid "%s: Directory is new"
 msgstr "%s: Kataloget er nyt"
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: fil er på et andet filesystem; ikke arkiveret"
+msgstr "%s: katalog er på et andet filesystem; ikke arkiveret"
 
 #: src/incremen.c:587
 #, c-format
@@ -1084,9 +1089,8 @@ msgid "Invalid time stamp"
 msgstr "Ugyldigt tidsstempel"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "Ugyldig modifikationstid (sekunder)"
+msgstr "Ugyldig modifikationstid"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
@@ -1103,219 +1107,222 @@ msgstr "Ugyldigt inode-nummer"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: byte %s: %s %.*s... for lang"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Uventet filslutning i øjebliksfil"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: byte %s: %s %s efterfulgt af ugyldig byte 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: byte %s: (gyldigt område %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Postafslutning mangler"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Fejlagtigt inkrementelt filformat"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 "Formatversion for inkrementel sikkerhedskopiering understøttes ikke: "
 "%<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Fejlagtigt dumpkatalog: forventede \"%c\" men fandt %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Fejlagtigt dumpkatalog: \"X\" duplikeret"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Fejlagtigt dumpkatalog: tomt navn i \"R\""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Fejlagtigt dumpkatalog: \"T\" foregås ikke af \"R\""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Fejlagtigt dumpkatalog: tomt navn i \"T\""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Fejlagtigt dumpkatalog: \"X\" bruges aldrig"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "kan ikke oprette midlertidigt katalog ved brug af skabelonen %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Renser ikke katalog: kunne ikke tage status"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Sletter %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "Kan ikke slette %s"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Udelader"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok med NULler **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Slut på fil **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkiv indeholder forældede base-64 hoveder"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " lænke til %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ukendt filtype %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lang lænke--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Langt navn--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Delarkivhoved--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Fortsat ved byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Opretter katalog:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Omdøber %s til %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Kan ikke omdøbe til %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Omdøber %s tilbage til %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fil fjernet før vi læste den"
@@ -1328,31 +1335,187 @@ msgstr "underproces"
 msgid "interprocess channel"
 msgstr "mellemproces-kanal"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Lokalt filvalg:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "KATALOG"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "gå til arbejdskatalog KATALOG"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "hent navne at udpakke eller oprette fra FIL"
+
+#: src/names.c:77
 #, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T læser navne adskilt med nultegn, deaktivér -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "fjern effekten af foregående --null-flag"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "afcitér inddata fil eller medlemsnavne (standardværdi)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "afcitér ikke inddata fil eller medlemsnavne"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MØNSTER"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "udelad filer som matcher MØNSTER"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "udelad filer som matcher mønster listet i FIL"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"udelad indholdet i kataloger som indeholder CACHEDIR.TAG, undtagen "
+"mærkefilen CACHEDIR.TAG selv"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "udelad alt i kataloger som indeholder CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "udelad kataloger som indeholder CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "udelad indholdet i kataloger som indeholder FIL, undtagen FIL selv"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+"indlæs ekskluderingsmønstre for hvert katalog fra FIL, hvis den eksisterer"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"indlæs ekskluderingsmønstre for hvert katalog og dets underkataloger fra "
+"FIL, hvis den eksisterer"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "udelad alting i kataloger som indeholder FIL"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "udelad kataloger som indeholder FIL"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "udelad kataloger fra versionshåndteringssystemer"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "indlæs ekskluderingsmønstre fra VCS ignoreingsfiler"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "udelad sikkerhedskopier og låsefiler"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "gå rekursivt ned i kataloger (standardværdi)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "gå ikke ned i kataloger automatisk"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "mønstre skal matche med begyndelsen på filnavne"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "mønstre matches efter alle '/'-er (standardværdi ved ekskludering)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "ingen forskel på store og små bogstaver"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "match store og små bogstaver forskelligt (standardværdi)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "brug jokertegn (standardværdi for ekskludering)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "ordret strengsammenligning"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "jokertegn matcher '/' (standardværdi for ekskludering)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "jokertegn matcher ikke '/'"
+
+#: src/names.c:768
 msgid "command line"
-msgstr "'%s'-kommando mislykkedes"
+msgstr "kommandolinje"
 
-#: src/names.c:378
-#, fuzzy, c-format
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: filliste allerede læst"
+msgstr "%s: filliste forespurgt fra %s allerede læst fra %s"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "kan ikke sætte tid på \"%s\""
+msgstr "kan ikke opsplitte streng '%s': %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: filnavnet som læstes indeholder nultegn"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Mønstermatchningstegn bruges i filnavne"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1360,55 +1523,53 @@ msgstr ""
 "Brug --wildcards for at aktivere mønstermatchning, eller --no-wildcards for "
 "at undertrykke denne advarsel"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ikke fundet i arkivet"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Krævet forekomst blev ikke fundet i arkivet"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arkivetiket stemmer ikke overrens"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Kun ét -C-flag er tilladt med --listed-incremental"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Flagene '-%s' and '-%s' vil begge have standard inddata"
+msgstr "Flagene '%s' and '%s' vil begge have standard inddata"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: ugyldigt arkivformat"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-funktioner forsøgt på inkompatibelt arkiv-format"
 
-#: src/tar.c:264
-#, fuzzy, c-format
+#: src/tar.c:265
+#, c-format
 msgid ""
 "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."
+"Ukendt citeringsstíl '%s'. Prøv '%s --quoting-style=help' for at få en liste."
 
-#: src/tar.c:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1418,7 +1579,7 @@ 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' gemmer mange filer sammen i et enkelt disk- eller bånd-arkiv, og "
+"GNU 'tar' gemmer mange filer sammen i et enkelt bånd- eller disk-arkiv, og "
 "kan gendanne individuelle filer fra arkivet.\n"
 "\n"
 "Eksempler:\n"
@@ -1426,8 +1587,7 @@ 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:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1440,7 +1600,7 @@ msgid ""
 msgstr ""
 "Suffikset for sikkerhedskopiering er '~', med mindre det er sat med --"
 "suffix\n"
-"eller SIMPLE_BACKUP_SUFFIX  Versionskontrollen kan sættes med --backup "
+"eller SIMPLE_BACKUP_SUFFIX. Versionskontrollen kan sættes med --backup "
 "eller\n"
 "VERSION_CONTROL, værdier er:\n"
 "\n"
@@ -1451,81 +1611,89 @@ msgstr ""
 "                  ellers simple\n"
 "  never, simple   lav altid simple sikkerhedskopier\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Hovedoperationstilstand:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "vis indholdet af et arkiv"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "udpak filer fra et arkiv"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "opret et nyt arkiv"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "find forskelle mellem filsystemet og arkivet"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "tilføj filer til slutningen af et arkiv"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "tilføj kun filer som er nyere end dem i arkivet"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "tilføj indholdet i tar-arkivfiler til et arkiv"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "fjern fra arkivet (ikke på magnetbånd!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "verificér arkivets delarkivnavn og afslut derefter."
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Ændringer til handling:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "håndtér filer med huller effektivt"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "ØVRE[.NEDRE]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "håndtér det gamle GNU-format for inkrementel sikkerhedskopiering"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "håndtér det nye GNU-format for inkrementel sikkerhedskopiering"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "dumpniveau for \"listed-incremental\" arkiv"
 
-#: src/tar.c:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 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, --"
@@ -1537,141 +1705,148 @@ 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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "arkivet er søgbart"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "arkivet er ikke søgbart"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "kontrollér ikke enhedsnumre når inkrementelle arkiver oprettes"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "kontrollér enhedsnumre når inkrementelle arkiver oprettes (standardværdi)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Kontrollér overskrivning:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "forsøg at verificere arkivet efter det blev skrevet"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "fjern filer efter de blev tilføjet til arkivet"
 
-#: src/tar.c:485
-#, fuzzy
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "erstat ikke eksisterende filer ved udpakning"
+msgstr "erstat ikke eksisterende filer ved udpakning, behandl dem som fejl"
 
-#: src/tar.c:488
-#, fuzzy
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "erstat ikke eksisterende filer ved udpakning"
+msgstr ""
+"erstat ikke eksisterende filer ved udpakning, skip over dem uden meddelelser"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "overskriv eksisterende filer ved udpakning"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "fjern hver eksisterende fil inden en ny udpakkes oven i den"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "tøm kataloghierarkier før udpakning af katalog"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "bevar eksisterende katalogers metadata"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "overskriv metadata for eksisterende kataloger ved udpakning (standardværdi)"
 
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "overskriv eksisterende filer ved udpakning"
-
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "KATALOG"
+msgstr "bevar eksisterende symlinker til kataloger ved udpakning"
 
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "lav et underkatalog for at undgå at få løse filer udpakket"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Vælg uddatastrøm:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "udpak filer til standard-ud"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "KOMMANDO"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "udpak filer til standard input til et andet program"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "ignorér barneprocessers slutstatus"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "behandl slutstatus fra barneprocesser bortset fra 0 som fejl"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Håndtering af filattributter:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "sæt NAVN som ejer for tilføjede filer"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "sæt NAVN som gruppe for tilføjede filer"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATO-ELLER-FIL"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "RETTIGHEDER"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "sæt (symbolske) RETTIGHEDER for tilføjede filer"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODE"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1681,11 +1856,11 @@ msgstr ""
 "læsning (METODE=\"replace\", standardværdi) eller ved at ikke sætte tiderne "
 "overhovedet (METODE=\"system\")"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "udpak ikke filers modificeringstid"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1693,20 +1868,20 @@ msgstr ""
 "forsøg at udpakke filer til samme ejere som i arkivet (standardværdi for "
 "superbrugeren)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 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:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "brug altid tal for bruger- og gruppnavn"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "udpak information om filrettigheder (standardværdi for superbrugeren)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1714,16 +1889,12 @@ msgstr ""
 "anvend brugerens umask når rettigheder udpakkes fra arkivet (standardværdi "
 "for almindelige brugere)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
-msgstr ""
-
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "samme som både -p og -s"
+msgstr "medlemsargumenter er listet i den samme orden som filerne i arkiverne"
 
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1731,188 +1902,187 @@ msgstr ""
 "udsæt sætning af modifikationstider og rettigheder på udpakkede kataloger "
 "til slutningen på arkivudpakningen."
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "fjern effekten af flaget --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDEN"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "orden for katalogsortering: ingen (standardværdi) eller navn"
 
-#: src/tar.c:578
-#, fuzzy
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr "Håndtering af filattributter:"
+msgstr "Håndtering af udvidede filattributter:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Aktivér understøttelse for udvidede filattributter"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Deaktivér understøttelse for udvidede filattributter"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MASK"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "angiv inkluderings-mønsteret for xattr-nøgler"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "angiv ekskluderings-mønsteret for xattr-nøgler"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Aktivér understøttelse for SELinux kontekster"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Deaktivér understøttelse for SELinux kontekster"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Aktivér understøttelse for POSIX ACL-er"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Deaktivér understøttelse for POSIX ACL-er"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Enhedsvalg og enhedsskift:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARKIV"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "brug arkivfil eller enhed ARKIV"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "arkivfilen er lokal selv om navnet har et kolon"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "brug KOMMANDO i stedet for rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "brug ekstern KOMMANDO i stedet for rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "angiv enhed og densitet"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "opret/vis/udpak et flerdelarkiv"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "skift bånd efter at NUMMER x 1024 byte er skrevet"
 
-#: src/tar.c:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "brug/opdatér delarkivnummer i FIL"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blokhåndtering:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOK"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOK x 512 byte per post"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "ANTAL byte per post, deleligt med 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignorér blok med kun nultegn (betyder filslut)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "lav nye blokke ved læsning (for 4.2BSD-datakanaler)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Valg af arkivformat:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "opret et arkiv med det angivne format"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT er et af følgende:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "gammelt V7-format"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-format for tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "Format fra GNU tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) format"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) format"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "samme som pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "samme som --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "samme som --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "nøgleord[[:]=værdi][,nøgleord[[:]=værdi]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "angiv nøgleord for pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEKST"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1920,181 +2090,79 @@ msgstr ""
 "opret et arkiv med delarkivnavnet TEKST. Ved visning/udpakning er TEKST et "
 "skálmønster (\"globbing\") for delarkivnavn"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Komprimeringsflag:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "brug arkivsuffix til at bestemme komprimeringsprogrammet"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "brug ikke arkivsuffix til at bestemme komprimeringsprogrammet"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtrér med PROG (skal acceptere -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Lokalt filvalg:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "gå til arbejdskatalog KATALOG"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "hent navne at udpakke eller oprette fra FIL"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T læser navne adskilt med nultegn, deaktivér -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "fjern effekten af foregående --null-flag"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "afcitér filnavne som blev læst med -T (standardværdi)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "afcitér ikke filnavne som blev læst med -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "MØNSTER"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "udelad filer som matcher MØNSTER"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "udelad filer som matcher mønster listet i FIL"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"udelad indholdet i kataloger som indeholder CACHEDIR.TAG, undtagen "
-"mærkefilen CACHEDIR.TAG selv"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "udelad alt i kataloger som indeholder CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "udelad kataloger som indeholder CACHEDIR.TAG"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "udelad alting i kataloger som indeholder FIL"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "udelad kataloger som indeholder FIL"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "udelad kataloger fra versionshåndteringssystemer"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "udelad sikkerhedskopier og låsefiler"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "gå ikke ned i kataloger automatisk"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "skift ikke filsystem når arkivet oprettes"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "gå rekursivt ned i kataloger (standardværdi)"
-
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
-msgstr "fjern ikke indledende '/' fra filnavne"
+msgstr "fjern ikke indledende '/'-er fra filnavne"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "MEDLEMSNAVN"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "begynd med medlem MEDLEMSNAVN i arkivet"
+msgstr "begynd med medlem MEDLEMSNAVN ved læsning af arkivet"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "arkivér kun filer nyere end DATO-ELLER-FIL"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATO"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "sammenlign kun dato og tid for dataændringer"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "KONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "lav sikkerhedskopier før fjernelse, vælg type af versionshåndtering"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "STRENG"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2102,102 +2170,60 @@ msgstr ""
 "lav sikkerhedskopier før fjernelse, erstat den normale sikkerhedskopiendelse "
 "(\"~\" hvis ikke ændret med miljøvariablen SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Filnavnstransformationer:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "fjern ANTAL indledende komponenter fra filnavne ved udpakning"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "UDTRYK"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "brug sed's erstatnings-UDTRYK for at transformere filnavne"
 
-#: src/tar.c:792
-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:795
-msgid "ignore case"
-msgstr "ingen forskel på store og små bogstaver"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "mønstre skal matche med begyndelsen på filnavne"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-"mønstre matches efter \"/\" i filnavne (standardværdi ved ekskludering)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "match store og små bogstaver forskelligt (standardværdi)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "brug jokertegn (standardværdi for ekskludering)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "ordret strengsammenligning"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "jokertegn matcher ikke \"/\""
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "jokertegn matcher \"/\" (standardværdi for ekskludering)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informativ udskrift:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "vís navne på alle filer som bliver behandlet"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "NØGLEORD"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "advarselskontrol"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "HANDLING"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "udfør HANDLING ved hvert kontrolpunkt"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "vis en meddelelse hvis ikke alle lænker bliver arkiveret"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2209,35 +2235,35 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 coh SIGUSR2. Navne uden SIG-præfix "
 "accepteres også."
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "vis filers modificeringstid i UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "vis fuld opløsning på filtider"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "send informative meddelelser til FIL"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "vis bloknummer i arkivet for hver meddelelse"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "bed om bekræftelse for hver handling"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "vis standardværdier for \"tar\""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "vis gyldige områder for felter i snapshot-filer"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2245,31 +2271,31 @@ msgstr ""
 "ved visning eller udpakning vises hvert katalog som ikke matcher "
 "søgekriterium"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "vis fil- eller arkivnavne efter transformering"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STÍL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "citér også tegn i STRENG"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "citér ikke tegn fra STRENG"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Kompatibilitetsflag:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2277,56 +2303,63 @@ msgstr ""
 "ved oprettelse det samme som --old-archive; ved udpakning det samme som --no-"
 "same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Andre flag:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "begræns brugen af potentielt farlige flag"
 
-#: src/tar.c:1010
-#, fuzzy
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: kan ikke bruges med '%s'"
+
+#: src/tar.c:934
 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"
+"Du kan ikke angive mere end ét af '-Acdtrux', --delete eller `--test-label' "
+"flagene"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konflikt i komprimeringsflag"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Ukendt signalnavn: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Tidsfil blev ikke fundet"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Erstatter %s for ukendt dato-format %s"
 
-#: src/tar.c:1140
-#, fuzzy, c-format
+#: src/tar.c:1066
+#, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr "Flag %s: Behandler tidsangivelse \"%s\" som %s"
+msgstr "Flag %s: Behandler tidsangivelse '%s' som %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtrér arkivet igennem %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Gyldige argumenter til flaget --quoting-style er:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2334,192 +2367,197 @@ msgstr ""
 "\n"
 "*Denne* tar har standardværdierne:\n"
 
-#: src/tar.c:1330
-#, fuzzy
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
-msgstr "Ugyldig ejer"
+msgstr "Ugyldig ejer eller gruppe-ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Ugyldig blokfaktor"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Ugyldig båndlængde"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Fejlagtig værdi for inkrementelt niveau"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Mere end én grænse-dato"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Ugyldig version for filer med huller"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve=\"system\" understøttes ikke på denne platform"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint-værdien er ikke et heltal"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Ugyldig modus angivet i flag"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Ugyldigt nummer"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Flaget --preserve er forældet, brug --preserve-permissions --preserve-order "
-"i stedet"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Ugyldig poststørrelse"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Poststørrelse skal være deleligt med %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Ugyldigt antal elementer"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Kun ét --to-command flag tilladt"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Ugyldig densitetsangivelse: %s"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
 msgstr "Ukendt densitet: '%c'"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Fejl ved fortolkning af tal nær \"%s\""
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FIL]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Mønster %s kan ikke bruges"
+msgid "non-option arguments in %s"
+msgstr "ugyldigt argument %s for %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
 #, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "kan ikke opsplitte streng '%s': %s"
+
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Gammelt flag '%c' behøver et argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence er meningsløs uden en filliste"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Ved flere arkivfiler kræves '-M'-flaget"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level er meningsløs uden --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Kan ikke verificere arkiv som går over flere delarkiver"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Kan ikke verificere komprimerede arkiver"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan ikke bruge komprimerede arkiver som går over flere delarkiver"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Kan ikke sammenlægge (konkatenere) komprimerede arkiver"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option kan kun bruges på POSIX-arkiver"
 
-#: src/tar.c:2560
-#, fuzzy
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr "--pax-option kan kun bruges på POSIX-arkiver"
+msgstr "--acls kan kun bruges på POSIX-arkiver"
 
-#: src/tar.c:2565
-#, fuzzy
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr "--pax-option kan kun bruges på POSIX-arkiver"
+msgstr "--selinux kan kun bruges på POSIX-arkiver"
 
-#: src/tar.c:2570
-#, fuzzy
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "--pax-option kan kun bruges på POSIX-arkiver"
+msgstr "--xattrs kan kun bruges på POSIX-arkiver"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Kan ikke udlede topniveau-katalognav; sæt det eksplicit med --one-top-"
+"level=KAT"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Delarkivlængden kan ikke være mindre end poststørrelsen"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Nægter stædigt at oprette et tomt arkiv"
 
-#: src/tar.c:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Flagene '-Aru' er inkompatible med '-f -'"
 
-#: src/tar.c:2766
-#, fuzzy
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Du skal angive et af '-Acdtrux' eller '--test-label' flagene"
+msgstr ""
+"Du skal angive et af '-Acdtrux', '--delete' eller '--test-label' flagene"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Afslutter med fejlstatus på grund af tidligere fejl"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "sorteringsorden for katalog: ingen (standardværdi), navn eller inode"
 
 #: src/update.c:87
 #, c-format
@@ -2569,38 +2607,38 @@ msgid "Malformed extended header: missing newline"
 msgstr "Fejlagtigt udvidet hoved: nylinje mangles"
 
 #: src/xheader.c:741
-#, fuzzy, c-format
+#, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr "Ignorerer nøgleord \"%s\" i udvidet hoved"
+msgstr "Ignorerer nøgleord '%s' i udvidet hoved"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Fejlagtigt udvidet hoved: ugyldig %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Fejlagtigt udvidet hoved: for mange %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: uventet skilletegn %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: ulige antal værdier"
@@ -2641,7 +2679,7 @@ msgstr "Skrivekontrolpunkt %u"
 msgid "Read checkpoint %u"
 msgstr "Læsekontrolpunkt %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2649,69 +2687,73 @@ msgstr ""
 "genfile bearbejder datafiler i testsuiten for GNU paxutils.\n"
 "FLAG er:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Flag for filoprettelse:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "STØRRELSE"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Opret en fil med angivet STØRRELSE"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Skriv til filen NAVN i stedet for til standard-ud"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Læs filnavne fra FIL"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T læser navne adskilte med nultegn"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Fyld filen med det angivne MØNSTER. MØNSTER er 'default' eller 'zeros'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Størrelse af en blok for filer med huller"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Generér fil med huller. Resten af kommandolinjen giver filmapningen."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "POSITION"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Flyt til given position inden data skrives"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Flag for filstatistik:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Vís indholdet i \"struct stat\" for hver given fil. Standardværdi på FORMAT "
 "er:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Flag for synkron udførelse:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "FLAG"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2719,19 +2761,19 @@ msgstr ""
 "Udfør ARGUMENTER. Nyttigt ved --checkpoint og en af --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Udfør angivet handling (se nedenfor) når kontrolpunkt NUMMER nås"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Sæt dato for næste --touch flag"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Vís udførte kontrolpunkter og slutstatus på KOMMANDO"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2739,7 +2781,7 @@ msgstr ""
 "Synkront udførte handlinger. Disse udføres når kontrolpunktnummeret givet "
 "med flaget --checkpoint nås."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2747,165 +2789,162 @@ msgstr ""
 "Afkort FIL til størrelsen givet med det foregående --length flag (eller 0 "
 "hvis det ikke er angivet)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Tilføj STØRRELSE antal byte til FIL. STØRRELSE er givet med foregående --"
 "length flag."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Opdatér acces- og modifikationstider for FIL"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Udfør KOMMANDO"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Fjern (unlink) FIL"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ugyldig størrelse %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Nummer udenfor tilladt interval: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativ størrelse: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "status (stat) kunne ikke tages på %s"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "ønsket fillængde %lu, virkelig %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "oprettet fil har ikke huller"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fejl ved fortolkning af tal nær \"%s\""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Ukendt datoformat"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENTER...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "kan ikke åbne '%s'"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "Kan ikke søge"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "filnavnet indeholder nultegn"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "fejlagtig maske (nær \"%s\")"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Ukendt felt '%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "kan ikke sætte tid på \"%s\""
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "kan ikke fjerne (unlink) \"%s\""
+msgstr "kan ikke trunkere '%s'"
 
-#: tests/genfile.c:701
-#, fuzzy, c-format
+#: tests/genfile.c:769
+#, c-format
 msgid "command failed: %s"
-msgstr "'%s'-kommando mislykkedes"
+msgstr "kommando mislykkedes: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "kan ikke fjerne (unlink) \"%s\""
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Kommandoen afsluttedes uden fejl\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Kommandoen mislykkedes med slutstatus %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Kommandoen termineredes af signal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Kommandoen stoppedes af signal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Kommandoen dumpede hukommelsen\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Kommandoen afsluttedes\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat kræver filnavne"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "sortér navne som skal udpakkes så de passer med arkivet"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence kan ikke bruges i den ønskede operationstilstand."
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Kan ikke kombinere --listed-incremental med --newer"
+#~ msgid "same as both -p and -s"
+#~ msgstr "samme som både -p og -s"
 
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order er ikke kompatibel med --listed-incremental"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Flaget --preserve er forældet, brug --preserve-permissions --preserve-"
+#~ "order i stedet"
 
 #~ msgid "Field too long while reading snapshot file"
 #~ msgstr "Felt for langt da øjebliksfil læstes"
@@ -2919,9 +2958,21 @@ msgstr "--stat kr
 #~ 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 "Invalid group"
 #~ msgstr "Ugyldig gruppe"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "--occurrence kan ikke bruges i den ønskede operationstilstand."
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Kan ikke kombinere --listed-incremental med --newer"
+
+#~ msgid "--preserve-order is not compatible with --listed-incremental"
+#~ msgstr "--preserve-order er ikke kompatibel med --listed-incremental"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "Længde på udvidet hoved er udenfor gyldigt interval"
 
index af2ac4bf69d9ff1a93cec9e223f7cadd0eb0edc5..b8e765bf86b7d97a598d49141d828df8f9eae922 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 0d4e418c13684daa81e87b0a24667960f409f804..7a258676d366165c5d7c8ebdbbf5cdd0efb74c66 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -4,15 +4,15 @@
 # Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995?
 # Karl Eichwalder <ke@ke.central.de>, 1996
 # Christian Kirsch <ck@held.mind.de>, 1996, 2001
-# Michael Piefel <piefel@informatik.hu-berlin.de>, 2003, 2006, 2007, 2008, 2009, 2010, 2011, 2013
+# Michael Piefel <piefel@informatik.hu-berlin.de>, 2003, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.27\n"
+"Project-Id-Version: tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-26 21:35+0200\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2014-08-04 21:35+0100\n"
 "Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -21,46 +21,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "ungültiges Argument %s für %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "mehrdeutiges Argument %s für %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Zulässige Argumente sind:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT-Parameter muss positiv sein"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: unbekannter ARGP_HELP_FMT-Parameter"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Müll in ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -68,143 +68,148 @@ msgstr ""
 "Erforderliche oder optionale Argumente für lange Optionen sind ebenso "
 "erforderlich bzw. optional für die entsprechenden Kurzoptionen."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Aufruf:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr " oder: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPTION...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, 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:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Unbekannter Systemfehler."
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "diese Hilfe ausgeben"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "eine kurze Benutzungsübersicht ausgeben"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NAME"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "den Programmnamen setzen"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "für SEK Sekunden hängenbleiben (Voreinst.: 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "Programmversion ausgeben"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAMMFEHLER) Keine Version bekannt!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Zu viele Argumente\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMMFEHLER) Option hätte erkannt werden müssen!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "Schreibfehler"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: Option „%s“ ist mehrdeutig; Möglichkeiten:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: Option „-W %s“ ist mehrdeutig\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: Option „--%s“ erlaubt keinen Parameter\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: Option „--%s“ benötigt einen Parameter\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: Unbekannte Option „--%s“\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: Unbekannte Option „%c%s“\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: Ungültige Option -- „%c“\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: Option benötigt einen Parameter -- „%c“.\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: Option „-W %s“ ist mehrdeutig\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: Option „-W %s“ benötigt einen Parameter\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "Kein Speicher mehr"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "Kann Arbeitsverzeichnis nicht aufzeichnen."
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "Konnte nicht zu ursprünglichem Arbeitsverzeichnis zurückkehren."
@@ -230,11 +235,11 @@ msgstr "Konnte nicht zu ursprünglichem Arbeitsverzeichnis zurückkehren."
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "„"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "“"
 
@@ -244,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yYjJ]"
 
@@ -254,16 +259,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketiert von %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketiert von %s\n"
@@ -271,11 +276,11 @@ msgstr "Paketiert von %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -292,19 +297,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Geschrieben von %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Geschrieben von %s und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Geschrieben von %s, %s und %s.\n"
@@ -312,7 +317,7 @@ msgstr "Geschrieben von %s, %s und %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -324,7 +329,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +341,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -348,7 +353,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -360,7 +365,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -374,7 +379,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -388,7 +393,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -403,7 +408,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -412,22 +417,22 @@ msgstr ""
 "\n"
 "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Melden Sie Fehler in %s (auf Englisch, mit LC_ALL=C) an: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Homepage von %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Homepage von %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Allgemeine Hilfe zu GNU-Software: <http://www.gnu.org/gethelp/>\n"
 
@@ -593,8 +598,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "ZAHL"
 
@@ -602,10 +607,11 @@ msgstr "ZAHL"
 msgid "set debug level"
 msgstr "Debug-Level setzen"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "DATEI"
 
@@ -618,7 +624,7 @@ msgstr "Dateinamen für Debug-Ausschriften setzen"
 msgid "cannot open %s"
 msgstr "kann „%s“ nicht öffnen"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "zu viele Argumente"
@@ -627,111 +633,110 @@ msgstr "zu viele Argumente"
 msgid "Garbage command"
 msgstr "Ungültiger Befehl"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Das sieht nicht wie ein „tar“-Archiv aus."
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Gesamtzahl gelesener Bytes"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Gesamtzahl geschriebener Bytes"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Gesamtzahl gelöschter Bytes: %s\n"
+msgstr "Gesamtzahl gelöschter Bytes"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Verweigere, Archivinhalt vom Terminal zu lesen (fehlt Option -f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Verweigere, Archivinhalt aufs Terminal zu schreiben (fehlt Option -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Ungültiger Wert für „record_size“."
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Kein Archivname angegeben"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kann Archive auf Standard-Ein-/Ausgabe nicht prüfen."
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archiv ist komprimiert. Benutzen Sie die Option %s."
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Kann komprimierte Archive nicht aktualisieren"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Am Anfang des Mediums, beende jetzt."
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Zu viele Fehler, beende."
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "„rmtlseek“ nicht an Recordgrenze angehalten"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: enthält ungültige Teil-Nummer."
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Teil-Nummer zu groß."
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Dateiende gefunden, Benutzereingabe erwartet"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "WARNUNG: Archiv unvollständig"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -743,67 +748,67 @@ msgstr ""
 " q             „tar“ abbrechen\n"
 " j oder Enter  fortfahren\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Shell in einem Unterprozess starten\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             diese Liste ausgeben\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Kein neues Medium; halte an.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Dateiname nicht angegeben. Versuchen Sie es noch einmal.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ungültige Eingabe. Geben Sie „?“ für Hilfe ein.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "„%s“-Befehl gescheitert."
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "Dieser Teil ist keine Fortsetzung von %s."
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "Dieser Teil ist keine Fortsetzung von %s."
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s hat die falsche Größe (%s != %s + %s)."
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Kennzeichnung des Archivs passt nicht zu „%s“."
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Teil „%s“ passt nicht zu „%s“."
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -811,7 +816,7 @@ msgstr ""
 "%s: Dateiname zu lang, um in einem GNU-Mehrteil-Kopf abgelegt werden zu "
 "können, abgeschnitten"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "Schreiben endete nicht an Blockgrenze"
 
@@ -822,20 +827,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Unterschiedliche Inhalte"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Unerwartetes Dateiende im Archiv."
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Unterschiedliche Dateitypen "
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Modus ist unterschiedlich"
 
@@ -851,7 +856,7 @@ msgstr "Gruppenkennung ist unterschiedlich"
 msgid "Mod time differs"
 msgstr "Änderungszeit ist unterschiedlich"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Größe ist unterschiedlich"
 
@@ -860,139 +865,139 @@ msgstr "Größe ist unterschiedlich"
 msgid "Not linked to %s"
 msgstr "Nicht mit „%s“ verknüpft"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symbolische Verknüpfung ist unterschiedlich"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Unterschiedliche Gerätenummern"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Prüfe "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Archiv enthält Dateinamen, deren Präfixe entfernt wurden."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Archiv enthält transformierte Dateinamen."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Die Überprüfung findet möglicherweise die Originaldateien nicht."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Ein einzelner Nullblock bei %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: enthält eine „Cache-Verzeichnis“-Markierung %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "Wert %s außerhalb des %s-Bereichs %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Erzeuge negative oktale Kopfteile"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: Verknüpfungsname ist zu lang; nicht gesichert."
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "Inhalt nicht gesichert"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Unbekannter Dateityp; Datei ignoriert."
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Fehlende Verknüpfungen zu %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "Datei %s ist unverändert; nicht gesichert."
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s ist das Archiv; nicht gesichert."
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "Verzeichnis nicht gesichert"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: Datei hat sich beim Lesen geändert."
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: Socket ignoriert"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: Klappe ignoriert"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Springe zum nächsten Kopfteil."
 
@@ -1010,56 +1015,56 @@ msgstr "%s: unplausibel alter Zeitstempel %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: Zeitstempel %s liegt %s Sekunden in der Zukunft."
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Unerwarteter Inkonsitenz beim Erstellen des Verzeichnisses."
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: überspringe existierende Datei"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Extrahiere zusammenhängende Dateien („contiguous files“) als reguläre."
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr ""
 "Versuche symbolische Verknüpfungen als harte Verknüpfungen herauszuholen."
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Unerwarteter Kopfteil mit langem Namen"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Unbekannter Dateityp „%c“, wie normale Datei extrahiert."
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Aktuelles %s ist neuer oder hat dasselbe Alter."
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Konnte keine Sicherheitskopie von dieser Datei erstellen"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Kann %s nicht in %s umbenennen."
@@ -1109,16 +1114,16 @@ msgstr "Ungültige Inode-Nummer"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: Byte %s: %s %.*s... zu lang"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Unerwartetes Dateiende im Schnappschussdatei."
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: Byte %s: %s %s gefolgt von ungültigem Byte 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1127,167 +1132,168 @@ msgstr ""
 "%s: Byte %s: (gültiger Bereich %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: Byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: Byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Fehlender Record-Abschluss"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "unzulässiges inkrementelles Dateiformat"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nicht unterstützte Version des inkrementellen Formats: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Fehlgeformtes Verzeichnis für Dump: „%c“ erwartet, aber %#3o gefunden"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Fehlgeformtes Verzeichnis für Dump: „X“ dupliziert"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Fehlgeformtes Verzeichnis für Dump: leerer Name in „R“"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Fehlgeformtes Verzeichnis für Dump: „T“ folgt nicht „R“"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Fehlgeformtes Verzeichnis für Dump: leerer Name in „T“"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Fehlgeformtes Verzeichnis für Dump: „X“ nie benutzt"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Kann kein temporäres Verzeichnis mit der Schablone %s anlegen"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Entferne Verzeichnis nicht: kann nicht zugreifen"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Lösche %s.\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Kann nicht entfernen."
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Ausgelassen"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "Block %s: ** Block aus NULlen **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "Block %s: ** Ende der Datei **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "Block %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiv enthält veraltete Base64-Kopfteile"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " Verknüpfung zu %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " unbekannter Dateityp %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "––Lange Verknüpfung––\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "––Langer Name––\n"
@@ -1295,36 +1301,36 @@ 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:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "––Vorspann des Teils––\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "––Fortgesetzt bei Byte %s––\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Erzeuge Verzeichnis:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Benenne „%s“ in „%s“ um.\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Kann nicht in %s umbenennen"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Benenne „%s“ zurück in „%s“.\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Datei gelöscht, bevor sie gelesen wurde."
@@ -1337,31 +1343,193 @@ msgstr "Kindprozess"
 msgid "interprocess channel"
 msgstr "Interprocess-Kanal"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Auswahl der lokalen Dateien:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "VERZEICHNIS"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "zu VERZEICHNIS wechseln"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "Namen der zu bearbeitenden Dateien aus DATEI lesen"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T liest null-terminierte Namen, verbiete -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "die Wirkung der vorangehenden Option --null aufheben"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"Namen von Eingabedateien oder Bestandteilen von Zitat befreien "
+"(Voreinstellung)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "Namen von Eingabedateien oder Bestandteilen nicht von Zitat befreien"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MUSTER"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "Dateien auslassen, auf die MUSTER passt"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "Dateien auslassen, auf die in DATEI angegebene Muster passen"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"Inhalt von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten, außer der "
+"Markierungsdatei selbst"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+"alles unterhalb von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "Verzeichnisse auslassen, die CACHEDIR.TAG enthalten"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"Inhalt von Verzeichnissen auslassen, die DATEI enthalten, außer DATEI selbst"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+"Ausschlussmuster für jedes Verzeichnis aus DATEI lesen, wenn sie existiert"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"Ausschlussmuster für jedes Verzeichnis und seine Unterverzeichnisse aus "
+"DATEI lesen, wenn sie existiert"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "alles unterhalb von Verzeichnissen auslassen, die DATEI enthalten"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "Verzeichnisse auslassen, die DATEI enthalten"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "Verzeichnisse von Versionskontrollsystemen auslassen"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "Ausschlussmuster aus der VCS-Ignorierdatei lesen"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "Backup- und Lock-Dateien ausschließen"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "in Verzeichnisse absteigen (Voreinstellung)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "automatischen Abstieg in Vezeichnisse vermeiden"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"Dateinamenauswahloptionen (sowohl für ein- als auch ausschließende Muster):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "Muster am Dateinamensanfang ausrichten"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "Muster passen nach jedem „/“ (Voreinstellung beim Ausschluss)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "Groß-/Kleinschreibung ignorieren"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "Groß-/Kleinschreibung beachten (Voreinstellung)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "Muster benutzen (Voreinstellung für Ausschluss)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "Zeichenketten sind buchstabengetreu"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "Jokerzeichen passen auf „/“ (Voreinstellung für Ausschluss)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "Jokerzeichen passen nicht auf „/“"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "Kommandozeile"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 "%s: Dateiliste, die von %s angefordert wurde, wurde schon von %s gelesen"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "kann Zeichenkette „%s“ nicht zerteilen: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: gelesener Dateiname enthält ein NULL-Zeichen"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Zeichen für Musterüberdeckung im Dateinamen benutzt"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1369,45 +1537,45 @@ msgstr ""
 "Benutzen Sie --wildcards, um Musterüberdeckung zu ermöglichen oder\n"
 "--no-wildcards, um diese Warnung zu unterdrücken."
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nicht im Archiv gefunden."
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Erforderliches Auftreten nicht im Archiv gefunden."
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Kennzeichnung des Archivs passt nicht"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "In --listed-incremental ist nur eine Option -C erlaubt"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Die beiden Optionen „-%s“ und „-%s“ verlangen Standard-Eingabe."
+msgstr "Sowohl Option „%s“ als auch „%s“ verlangen Standard-Eingabe."
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Ungültiges Archivformat"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-Erweiterungen bei einem inkompatiblen Archiv-Format verlangt."
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1415,7 +1583,7 @@ msgstr ""
 "Unbekannter Zitatstil „%s“. Versuchen Sie „%s --quoting-style=help“ für eine "
 "Liste."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1434,7 +1602,7 @@ 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:387
+#: src/tar.c:363
 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 "
@@ -1458,79 +1626,87 @@ msgstr ""
 "                    vorhanden sind, sonst einfache\n"
 "  never, simple   immer einfache Sicherheitskopien\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Hauptsächlicher Arbeitsmodus:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "den Inhalt eines Archivs auflisten"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "Dateien aus einem Archiv extrahieren"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "ein neues Archiv anlegen"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "Unterschiede zwischen Archiv und Dateisystem suchen"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "Dateien hinten an das Archiv anfügen"
 
-#: src/tar.c:432
+#: src/tar.c:408
 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:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "tar-Dateien an ein Archiv anfügen"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "aus dem Archiv löschen (nicht auf Magnetband!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "den Archiv-Teil-Namen überprüfen und beenden"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Feineinstellungen:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "löchrige Dateien („sparse files“) effizient behandeln"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "zu benutzende Version des Sparse-Formats setzen (impliziert --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "inkrementelle Sicherung im alten GNU-Format"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "inkrementelle Sicherung im neuen GNU-Format"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "Niveau für erzeugte Archive mit --listed-incremental ausgeben"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "kein Abbruch mit Existatus!=0 bei unlesbaren Dateien"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1542,147 +1718,156 @@ 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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "im Archiv kann positioniert werden"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "im Archiv kann nicht positioniert werden"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "Gerätenummer bei Erstellung inkrementeller Archive nicht prüfen"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "Gerätenummer bei Erstellung inkrementeller Archive prüfen (Voreinstellung)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Steuerung des Überschreibens:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "Archiv nach dem Schreiben prüfen"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "Dateien nach dem Hinzufügen zum Archiv löschen"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 "vorhandene Dateien beim Extrahieren nicht überschreiben, sondern als Fehler "
 "behandeln"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "vorhandene Dateien beim Extrahieren nicht überschreiben, kommentarlos "
 "überspringen"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "vorhandene Dateien beim Extrahieren überschreiben"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "zu überschreibende Dateien vor dem Extrahieren löschen"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 "Verzeichnishierarchien rekursiv vor dem Extrahieren eines Verzeichnisses "
 "löschen"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "Metadaten existierender Verzeichnisse erhalten"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "Metadaten existierender Verzeichnisse beim Extrahieren überschreiben "
 "(Voreinstellung)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 "vorhandene symbolische Verknüpfungen auf Verzeichnisse beim Extrahieren "
 "erhalten"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "VERZEICHNIS"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "ein Unterverzeichnis anlegen, um keine losen Dateien zu entpacken"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Wahl des Ausgabestroms:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "Dateien auf die Standardausgabe extrahieren"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "BEFEHL"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "extrahierte Dateien an ein anderes Programm weiterreichen"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "Exitstatus der Kinder ignorieren"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "Exitstatus!=0 von Kindern als Fehler ansehen"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Behandlung der Datei-Attribute:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "Eigentümer für hinzugefügte Dateien auf NAME setzen"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "Gruppe für hinzugefügte Dateien auf NAME setzen"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ODER-DATEI"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ÄNDERUNGEN"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "den (symbolischen) Modus ÄNDERUNGEN für hinzugefügte Dateien erzwingen"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METHODE"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1690,14 +1875,14 @@ msgid ""
 msgstr ""
 "Zugriffszeit für abgespeicherte Dateien erhalten, entweder durch "
 "Zurücksetzen der Zeiten nach dem Lesen (METHODE=„replace“, Voreinstellung) "
-"oder dadurch, dass die Zeiten gar nicht erst neu gesetzt werden (METHODE="
-"„system“)"
+"oder dadurch, dass die Zeiten gar nicht erst neu gesetzt werden "
+"(METHODE=„system“)"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "die geänderte Zeit nicht extrahieren"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1705,23 +1890,23 @@ msgstr ""
 "versuchen, die Dateien mit denselben Eigentumsverhältnisse zu extrahieren "
 "(für den Admin ist dies die Voreinstellung)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 "Dateien als aktueller Nutzer extrahieren (für normale Nutzer die "
 "Voreinstellung)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "immer Zahlen für Nutzer-/Gruppennamen verwenden"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "Informationen über Dateizugriffsrechte mit extrahieren (Voreinstellung für "
 "Root)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1729,18 +1914,14 @@ msgstr ""
 "die Umask des Nutzers anwenden beim Extrahieren von Dateizugriffsrechte aus "
 "dem Archiv (Voreinstellung für normale Nutzer)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 "Argumente für Elemente werden in der gleichen Anordnung wie die Dateien im "
 "Archiv aufgeführt"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "wie -p und -s zusammen"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1748,187 +1929,189 @@ msgstr ""
 "das Setzen von Zugriffszeiten und Rechten von extrahierten Verzeichnissen "
 "verschieben bis zum Ende des Entpackens"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "den Effekt von --delay-directory-restore aufheben"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ANORDNUNG"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
+"Sortierreihenfolge für Verzeichnisse: „none“=keine (Voreinstellung) oder "
+"„name“"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Behandlung der erweiterten Datei-Attribute:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Unterstützung für erweiterte Attribute ermöglichen"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Unterstützung für erweiterte Attribute abschalten"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASKE"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "das Einschluss-Muster für xattr-Schlüssel angeben"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "das Ausschluss-Muster für xattr-Schlüssel angeben"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Unterstützung für SELinux-Kontext ermöglichen"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Unterstützung für SELinux-Kontext abschalten"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Unterstützung für POSIX-ACLs ermöglichen"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Unterstützung für POSIX-ACLs abschalten"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Geräteauswahl und -umschaltung:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIV"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "Archivdatei oder Gerät ARCHIV benutzen"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "statt „rmt“ den gegebenen BEFEHL benutzen"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "statt „rsh“ den entfernten BEFEHL benutzen"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "Laufwerk und Schreibdichte angeben"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "mehrteiliges Archiv anlegen/listen/extrahieren"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "Medium wechseln, wenn ZAHL × 1024 Bytes geschrieben wurden"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "am Ende jedes Mediums das Skript ausführen (impliziert -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "Teil-Nummer in DATEI benutzen/aktualisieren"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blockung des Gerätes:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLÖCKE"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLÖCKE × 512 Bytes pro Record"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "ZAHL Bytes pro Record, Vielfaches von 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "Blöcke mit Nullen im Archiv ignorieren (heißt EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "erneut Blocken beim Lesen (für 4.2BSD‐Pipes)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Auswahl des Archiv-Formats:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "Archiv mit dem gegebenen Format anlegen"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT ist eines der folgenden:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "altes V7-tar-Format"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-Format wie mit tar <=1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU-tar-1.13.x-Format"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "Format von POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "Format von POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "wie pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "wie --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "wie --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "Schlüsselwort[[:]=Wert][,Schlüsselwort[[:]=Wert]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "Pax-Schlüsselwörter steuern"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1936,188 +2119,83 @@ msgstr ""
 "Archiv mit dem Teilnamen TEXT anlegen; beim Listen/Extrahieren, TEXT als "
 "Muster für den Teilnamen benutzen"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Kompressionsoptionen:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "Archiverweiterung nehmen, um Kompressionsprogramm zu bestimmen"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "Archiverweiterung nicht nehmen, um Kompressionsprogramm zu bestimmen"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "durch PROG filten (muss -d akzeptieren)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Auswahl der lokalen Dateien:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "zu VERZEICHNIS wechseln"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "Namen der zu bearbeitenden Dateien aus DATEI lesen"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T liest null-terminierte Namen, verbiete -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "die Wirkung der vorangehenden Option --null aufheben"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"Dateinamen, die mit -T gelesen werden, von Zitat befreien (Voreinstellung)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "Dateinamen, die mit -T gelesen werden, nicht von Zitat befreien"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "MUSTER"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "Dateien auslassen, auf die MUSTER passt"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "Dateien auslassen, auf die in DATEI angegebene Muster passen"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"Inhalt von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten, außer der "
-"Markierungsdatei selbst"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-"alles unterhalb von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "Verzeichnisse auslassen, die CACHEDIR.TAG enthalten"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "alles unterhalb von Verzeichnissen auslassen, die DATEI enthalten"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "Verzeichnisse auslassen, die DATEI enthalten"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "Verzeichnisse von Versionskontrollsystemen auslassen"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "Backup- und Lock-Dateien ausschließen"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "automatischen Abstieg in Vezeichnisse vermeiden"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "beim Anlegen eines Archivs im lokalen Dateisystem bleiben"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "in Verzeichnisse absteigen (Voreinstellung)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "führende „/“-Zeichen in den Dateinamen erhalten"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "ELEMENT-NAME"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "beim Lesen der Archivs mit ELEMENT-NAME beginnen"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "nur Dateien ablegen, die neuer als DATUM-ODER-DATEI sind"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "Datum und Zeit nur überprüfen, wenn Daten geändert wurden"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "KONTROLLE"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "Sicherung vor dem Entfernen, wähle Versions-KONTROLLE"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "ZEICHENKETTE"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2125,98 +2203,61 @@ msgstr ""
 "Sicherung vor dem Entfernen, übliches Suffix ersetzen („~“, wenn nicht durch "
 "Umgebungsvariable SIMPLE_BACKUP_SUFFIX anders gesetzt)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Dateinamentransformationen:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "ZAHL führende Komponenten beim Extrahieren von Dateinamen entfernen"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "AUSDRUCK"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "den sed-AUSDRUCK zur Dateinamentransformation benutzen"
 
-#: src/tar.c:792
-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:795
-msgid "ignore case"
-msgstr "Groß-/Kleinschreibung ignorieren"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "Muster am Dateinamensanfang ausrichten"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "Muster passen nach jedem „/“ (Voreinstellung beim Ausschluss)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "Groß-/Kleinschreibung beachten (Voreinstellung)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "Muster benutzen (Voreinstellung für Ausschluss)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "Zeichenketten sind buchstabengetreu"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "Jokerzeichen passen nicht auf „/“"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "Jokerzeichen passen auf „/“ (Voreinstellung für Ausschluss)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informationen:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "bearbeitete Dateien ausführlich listen"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "SCHLÜSSELWORT"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "Warnungssteuerung"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Fortschrittsnachrichten bei jedem ZAHLten Record (Voreinstellung 10) anzeigen"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "AKTION"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "AKTION bei jedem Kontrollpunkt ausführen"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 "eine Nachricht ausgeben, wenn nicht alle Verknüpfungen abgespeichert werden"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2228,35 +2269,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:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "Dateiänderungszeiten in UTC anzeigen"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "Dateizeit in voller Auflösung anzeigen"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "ausführliche Ausgabe in DATEI schreiben"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "bei jeder Nachricht die Blocknummer innerhalb des Archivs mit anzeigen"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "für jede Aktion um Bestätigung bitten"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "Voreinstellungen von tar anzeigen"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "gültige Bereiche für die Felder von Snapshot-Dateien anzeigen"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2264,45 +2305,52 @@ msgstr ""
 "beim Listen oder Extrahieren jedes Verzeichnis auflisten, dass nicht den "
 "Suchkriterien entspricht"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "Datei- oder Archivnamen nach der Transformation anzeigen"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "zusätzliche Zeichen aus ZEICHENKETTE zitieren"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "Zeichen aus ZEICHENKETTE nicht zitieren"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Kompatibilitätsoptionen:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 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:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Weitere Optionen:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "möglicherweise schädliche Optionen deaktivieren"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "„%s“ kann nicht mit %s benutzt werden"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2310,40 +2358,40 @@ msgstr ""
 "Von den Optionen „-Acdtrux“, „--delete“ oder „--test-label“ ist jeweils nur "
 "eine erlaubt"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Kompressionsoptionen schließen sich gegenseitig aus."
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Unbekannter Signalname: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Datumsdatei nicht gefunden"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Ersetze %s für unbekanntes Datumsformat %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Option %s: Behandle Datum „%s“ als %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "Archiv durch %s filtern"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Gültige Argumente für die Option --quoting-style sind:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2351,185 +2399,198 @@ msgstr ""
 "\n"
 "*Dieses* „tar“ hat als Voreinstellung:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Ungültige Benutzer- oder Gruppen-ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Ungültige Blockgröße"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Ungültige Bandlänge"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "unzulässiger Wert für inkrementelles Niveau"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Mehr als ein Datum angegeben."
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Ungültiger Wert für Sparse-Version (für löchrige Dateien)"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' wird auf dieser Plattform nicht unterstützt"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "Wert für --checkpoint ist keine ganze Zahl"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Ungültige Zugriffsrechte angegeben."
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Ungültige Zahl"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Die Option --preserve ist veraltet, benutzen Sie stattdessen --preserve-"
-"permissions --preserve-order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Ungültiger Wert für Recordgröße."
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Die Recordgröße muss ein Vielfaches von %d sein."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Ungültige Elementanzahl"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Nur eine Option --to-command erlaubt"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Fehlgeformtes Dichteargument: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Unbekannte Dichte: „%c“"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Fehler beim Parser der Zahl in der Nähe von „%s“"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[DATEI]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Option --%s kann nicht mit %s benutzt werden"
+msgid "non-option arguments in %s"
+msgstr "ungültiges Argument %s für %s"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "kann Zeichenkette „%s“ nicht zerteilen: %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Die alte Option „%c“ benötigt einen Parameter."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence ist ohne Dateiliste bedeutungslos"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Mehrere Archivdateien verlangen die Option „-M“."
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level ist ohne --listed-incremental bedeutungslos"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Kann mehrteilige Archive nicht prüfen."
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Kann komprimierte Archive nicht prüfen"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kann keine mehrteiligen komprimierten Archive verwenden."
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Kann komprimierte Archive nicht aneinanderhängen"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Kann Namen des obersten Verzeichnisses nicht ableiten; bitte explizit mit --"
+"one-top-level=VERZ setzen"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Teillänge kann nicht unter der Recordgröße liegen"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Anlegen eines leeren Archivs wird feige verweigert."
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Die Optionen „-Aru“ sind nicht kompatibel mit „-f -“."
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Eine der Optionen „-Acdtrux“, „--delete“ oder „--test-label“ ist notwendig."
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Beende mit Fehlerstatus aufgrund vorheriger Fehler"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
+"Sortierreihenfolge für Verzeichnisse: „none“=keine (Voreinstellung), „name“ "
+"oder  „inode“"
 
 #: src/update.c:87
 #, c-format
@@ -2583,7 +2644,7 @@ msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Zeilenvorschub"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignoriere unbekanntes Schlüsselwort „%s“ für erweiterten Kopfteil"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2591,29 +2652,29 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Fehlgeformter erweiterter Kopfteil: ungültiges %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Fehlgeformter erweiterter Kopfteil: überzähliges %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2656,7 +2717,7 @@ msgstr "Schreib-Kontrollpunkt %u"
 msgid "Read checkpoint %u"
 msgstr "Lese-Kontrollpunkt %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2664,73 +2725,77 @@ msgstr ""
 "genfile manipuliert Datendateien für die Testsuite der GNU paxutils.\n"
 "OPTIONEN sind:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Optionen beim Anlegen von Dateien:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "GRÖßE"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Datei der gegebenen GRÖßE anlegen"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "in Datei NAME anstelle der Standardausgabe schreiben"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Dateinamenlist aus DATEI lesen"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T liest null-terminierte Namen"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Die Datei mit dem gegebenen MUSTER füllen. MUSTER ist „default“ oder „zeros“."
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Größe eines Blocks für löchrige Dateien"
 
 # „map“: Karte, Abbildung?
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Löchrige („sparse“) Datei erzeugen. Der Rest der Kommandozeile gibt die die "
 "Dateibildungsvorschrift an."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "POSITION"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "vor dem Schreiben zur gegebenen Position springen"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Dateistatistikoptionen:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Inhalt des „struct stat“ für jede gegebene Datei ausgeben. Standard-FORMAT "
 "ist:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Optionen für synchrone Ausführung:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPTION"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2738,21 +2803,21 @@ msgstr ""
 "ARGUMENTE ausführen. Nützlich mit --checkpoint und einem aus --cut, --"
 "append, --touch, --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "gegebene Aktion (siehe unten) beim Erreichen des Kontrollpunkts ZAHL "
 "ausführen"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Datum für nächste „--touch“-Operation setzen"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "ausgeführte Kontrollpunkte und Beendigungsstatus von BEFEHL anzeigen"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2760,7 +2825,7 @@ msgstr ""
 "Aktionen für synchrone Ausführung. Diese werden beim Erreichen des "
 "Kontrollpunkts, der mit der Option --checkpoint gesetzt wurde, ausgeführt."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2768,155 +2833,165 @@ msgstr ""
 "DATEI kürzen auf die Länge, die mit einer vorhergehenden Option --length "
 "(oder 0 bei Abwesenheit) gesetzt wurde"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "GRÖßE Bytes an DATEI anfügen. GRÖßE wird mit einer vorhergehenden Option --"
 "length gesetzt."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Zugriffs- und Änderungszeiten der DATEI neu setzen"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "BEFEHL ausführen"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "FILE entfernen (unlink)"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ungültige Größe: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Zahl außerhalb des zulässigen Bereichs: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negative Größe: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) fehlgeschlagen"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "Dateilänge %lu verlangt, tatsächlich %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "erzeugte Datei ist nicht löchrig"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fehler beim Parser der Zahl in der Nähe von „%s“"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Unbekanntes Datumsformat"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENTE...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "kann „%s“ nicht öffnen"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "kann nicht positionieren"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "Dateiname enthält Null-Zeichen"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "inkorrekte Maske (nahe „%s“)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "unbekannte Feld „%s“"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "kann an „%s“ keine Zeit setzen"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "kann „%s“ nicht abschneiden"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "Befehl fehlgeschlagen: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "kann „%s“ nicht entfernen (unlink)"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Befehl erfolgreich ausgeführt\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Befehl schlug mit Beendigungsstatus %d fehl.\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Befehl beendete sich bei Signal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Befehl hieltb bei Signal %d an\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Befehl erzeugte einen Core-Dump\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Befehl beendet\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat erfordert Dateinamen"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "wie -p und -s zusammen"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Die Option --preserve ist veraltet, benutzen Sie stattdessen --preserve-"
+#~ "permissions --preserve-order"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "--occurrence kann mit %s nicht benutzt werden"
 
index d930f6ca09adfb55640c2b7c28463abe38e88903..04d580bb4b2a964ab47d17b67dc59582f002c1bf 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index fac010e356b4e5dfd85cf0c27c921d8f2bef714f..33f7e59e8ea8c45688045294531b6fbdcb028b29 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -3,12 +3,12 @@
 # Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) <ebalaskas@cs.teiath.gr>, 2004.
 # Simos Xenitellis <simos74@gmx.net>, 2004.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25 \n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2004-03-08 14:44+0200\n"
 "Last-Translator: Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) <ebalaskas@cs."
 "teiath.gr>\n"
@@ -19,193 +19,198 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.0.2\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "άκυρο όρισμα %s για %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "αμφιλεγόμενο όρισμα %s για %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Έγκυρα ορίσματα είναι:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr ""
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr ""
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr ""
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr ""
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 #, fuzzy
 msgid " [OPTION...]"
 msgstr ""
 "\n"
 "Χρήση: %s [ΕΠΙΛΟΓΉ]...\n"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Προσπαθήστε `%s --help' για περισσότερες πληροφορίες.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 "\n"
 "Αναφορά σφαλμάτων στο <bug-tar@gnu.org>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Άγνωστο σφάλμα συστήματος"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr ""
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr ""
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr ""
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr ""
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr ""
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr ""
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, fuzzy, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: η επιλογή`%s' είναι αμφιλεγόμενη\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: η επιλογή `-W %s' είναι αμφιλεγόμενη\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, fuzzy, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: η επιλογή `--%s' δεν επιτρέπει όρισμα\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, fuzzy, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: η επιλογή `%c%s' δεν επιτρέπει όρισμα\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: μη αναγνωρίσιμη επιλογή `--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: μη αναγνωρίσιμη επιλογή `%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: άκυρη επιλογή -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: η επιλογή απαιτεί όρισμα -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, fuzzy, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: η επιλογή `-W %s' είναι αμφιλεγόμενη\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, fuzzy, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: η επιλογή `-W %s' δεν επιτρέπει όρισμα\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "η μνήμη εξαντλήθηκε"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχοντος καταλόγου"
@@ -231,11 +236,11 @@ msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχο
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -245,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr ""
 
@@ -255,16 +260,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -272,11 +277,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -287,7 +292,7 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, fuzzy, c-format
 msgid "Written by %s.\n"
 msgstr ""
@@ -295,7 +300,7 @@ msgstr ""
 "Μεταφράστηκε από τον Μπαλάσκα Ευάγγελο."
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, fuzzy, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
@@ -303,7 +308,7 @@ msgstr ""
 "Μεταφράστηκε από τον Μπαλάσκα Ευάγγελο."
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, fuzzy, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -313,7 +318,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -323,7 +328,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -333,7 +338,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -343,7 +348,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -353,7 +358,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -364,7 +369,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -375,7 +380,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -387,7 +392,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -396,22 +401,22 @@ msgstr ""
 "\n"
 "Αναφορά σφαλμάτων στο <bug-tar@gnu.org>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Μετονομασία %s πίσω στο %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -593,8 +598,8 @@ msgstr ""
 "  --version  Εμφάνιση πληροφοριών έκδοσης.\n"
 "  --help  Εμφάνιση αυτής της βοήθειας.\n"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr ""
 
@@ -602,10 +607,11 @@ msgstr ""
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr ""
 
@@ -618,7 +624,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "Δεν είναι δυνατό το κλείσιμο"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -627,113 +633,112 @@ msgstr ""
 msgid "Garbage command"
 msgstr "Εντολή απορριμμάτων"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Αυτό δεν φαίνεται ως αρχειοθήκη tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n"
+msgstr ""
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(σωλήνωση)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Άκυρη τιμή για record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Δεν δόθηκε όνομα αρχειοθήκης"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 "Δεν είναι δυνατή η επαλήθευση των κανονικών εισόδων/εξόδων της αρχειοθήκης"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Στην αρχή της ταινίας, τερματισμός τώρα"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Πάρα πολλά σφάλματα, τερματισμός"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: περιέχει άκυρο αριθμό τόμου"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Υπερχήλιση αριθμού τόμου"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Προετοίμασε τον τόμο #%d για %s και πάτα το πλήκτρο επιστροφής γραμμής"
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "EOF (Τέλος Αρχείου) ενώ η απάντηση του χρήστη αναμενότανε"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "ΠΡΟΕΙΔΟΠΟΊΗΣΗ: Η αρχειοθήκη είναι ημιτελής"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -745,71 +750,71 @@ msgstr ""
 " !          Παραγωγή νέου υπό-φλοιού\n"
 " ?          Εκτύπωση αυτής της λίστας\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Κανένας νέος τόμος; έξοδος\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "`%s' η εντολή απέτυχε"
 
-#: src/buffer.c:1491
-#, fuzzy, c-format
-msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
-
-#: src/buffer.c:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, fuzzy, c-format
+msgid "%s is possibly continued on this volume: header contains truncated name"
+msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
+
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s είναι το εσφαλμένο μέγεθος (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Αυτός ο τόμος είναι εκτός συνέχειας"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Ο τόμος %s δεν ταιριάζει %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr ""
 
@@ -820,20 +825,20 @@ msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Δυνατή μόνο η ανάγνωση %lu από %lu byte"
 msgstr[1] "Δυνατή μόνο η ανάγνωση %lu από %lu byte"
 
-#: src/compare.c:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Τα περιεχόμενα διαφέρουν"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Οι τύποι αρχείων διαφέρουν"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Οι καταστάσεις διαφέρουν"
 
@@ -849,7 +854,7 @@ msgstr "Ταυτότητες ομάδας διαφέρουν"
 msgid "Mod time differs"
 msgstr "Ώρες τροποποίησης διαφέρουν"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Τα μεγέθη διαφέρουν"
 
@@ -858,139 +863,139 @@ msgstr "Τα μεγέθη διαφέρουν"
 msgid "Not linked to %s"
 msgstr "Δεν είναι συνδεδεμένο με %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Οι σύνδεσμοι διαφέρουν"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Οι αριθμοί των συσκευών διαφέρουν"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Επαλήθευση "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Άγνωστος τύπος αρχείου '%c', εκτέλεση της diff ως κανονικό αρχείο"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:539
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "η τιμή %s είναι εκτός του %s εύρος %s..%s; αντικαταστήθηκε από %s"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "η τιμή %s είναι εκτός του %s εύρους %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Παράχθηκαν αρνητικές οκταδικές επικεφαλίδες"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, fuzzy, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
 
-#: src/create.c:611
+#: src/create.c:612
 #, fuzzy, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
 
-#: src/create.c:638
+#: src/create.c:639
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Άγνωστος τύπος αρχείου; το αρχείο αγνοήθηκε"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr " σύνδεσμος σε %s\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: αρχείο τροποποιήθηκε κατά την ανάγνωση"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: η υποδοχή αγνοήθηκε"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: η πόρτα αγνοήθηκε"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Παραλείποντας στην επόμενη επικεφαλίδα"
 
@@ -1008,55 +1013,55 @@ msgstr ""
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: η ένδειξη χρόνου %s είναι %lu s στο μέλλον"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Μη αναμενόμενη ανακολουθία κατά την δημιουργία του καταλόγου"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s: Ο κατάλογος μετονομάστηκε πριν η κατάστασή του γίνει μη εξαγώγιμη"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Εξαγωγή συνεχόμενων αρχείων ως κανονικών αρχείων"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Προσπάθεια εξαγωγής των συμβολικών συνδέσμων ως σθεναρών συνδέσμων"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Δεν είναι δυνατή η εξαγωγή -- το αρχείο συνεχίζεται σε άλλο τόμο"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στα κατακερματισμένα ονόματα"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Άγνωστος τύπος αρχείου '%c', εξαγωγή ως κανονικό αρχείο"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Δεν είναι δυνατή η αποθήκευση αυτού του αρχείου"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
@@ -1107,130 +1112,130 @@ msgstr "Άκυρος αριθμός i-κόμβου"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Δεν είναι δυνατή η δέσμευση μνήμης για τον συντελεστή ομαδοποίησης %d"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, fuzzy, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Διαγραφή %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Δεν είναι δυνατή η απομάκρυνση"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Παράλειψη"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "μπλοκ %s: ** Μπλοκ με χαρακτήρες NUL **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "μπλοκ %s: ** Τέλος Αρχείου **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "μπλοκ %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1238,89 +1243,89 @@ msgstr ""
 "συμπληρώματα"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Αρχειοθήκη οκταδικής τιμής %.*s είναι εκτός του %s εύρους"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 "Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του "
 "%s εύρους"
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " σύνδεσμος σε %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Επικεφαλίδα Τόμου--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Συνέχιση στο byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Δημιουργία καταλόγου:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Μετονομασία %s σε %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Μετονομασία %s πίσω στο %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Το αρχείο απομακρύνθηκε πριν το διαβάσουμε"
@@ -1333,81 +1338,232 @@ msgstr "θυγατρική διεργασία"
 msgid "interprocess channel"
 msgstr "κανάλι μεταξύ διεργασιών"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Συγκρουόμενες επιλογές διαμόρφωσης αρχειοθήκης"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr ""
+
+#: src/names.c:73
+#, fuzzy
+msgid "change to directory DIR"
+msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr ""
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr ""
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr ""
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr ""
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr ""
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr ""
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr ""
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr ""
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr ""
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "Ο τόμος %s δεν ταιριάζει %s"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "`%s' η εντολή απέτυχε"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Οι επιλογές `-%s' και `-%s' απαιτούν κανονική είσοδο"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Άκυρη ομάδα"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Τα χαρακτηριστικά GNU απαιτούν μη συμβατή διαμόρφωση αρχειοθήκης"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1428,7 +1584,7 @@ msgstr ""
 "archive.tar με λεπτομέρειες.\n"
 "  %s -xf archive.tar          # Εξάγει όλα τα αρχεία από το archive.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1451,80 +1607,88 @@ msgstr ""
 "διαφορετικά\n"
 "  never, simple   πάντα κάνε απλά αντίγραφα\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:425
+#: src/tar.c:401
 #, fuzzy
 msgid "create a new archive"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1532,640 +1696,511 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr ""
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr ""
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:516
+#: src/tar.c:494
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr ""
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr ""
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:609
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:653
+#: src/tar.c:635
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Συγκρουόμενες επιλογές διαμόρφωσης αρχειοθήκης"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Συγκρουόμενες επιλογές συμπίεσης"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#: src/tar.c:712
-#, fuzzy
-msgid "change to directory DIR"
-msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr ""
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr ""
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr ""
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr ""
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr ""
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr ""
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr ""
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Απομακρύνονται τα αρχικά `%.*s' από τα ονόματα των μελών"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "Ο τόμος %s δεν ταιριάζει %s"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2173,307 +2208,325 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
+
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Ίσως δεν καθορίσατε παραπάνω από μία επιλογή `-Acdtrux'"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Συγκρουόμενες επιλογές συμπίεσης"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Το αρχείο ημερομηνίας δεν βρέθηκε"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Αντικατάσταση %s για άγνωστη διαμόρφωση ημερομηνίας %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Άκυρος ιδιοκτήτης"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Άκυρος συντελεστής ομαδοποίησης"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Άκυρο μέγεθος ταινίας"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Παραπάνω από ένα όριο ημερομηνίας"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 #, fuzzy
 msgid "Invalid number"
 msgstr "Άκυρος αριθμός i-κόμβου"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Άκυρο μέγεθος εγγραφής"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Το μέγεθος της εγγραφής πρέπει να είναι πολλαπλάσιο του %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Άκυρο μέγεθος ταινίας"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr ""
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr ""
 "Οι επιλογές `-[0-7][lmh]' δεν υποστηρίζονται από *αυτήν* την εντολή tar"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr ""
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr ""
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
+msgid "non-option arguments in %s"
+msgstr "άκυρο όρισμα %s για %s"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr ""
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Παλιά επιλογή `%c' απαιτεί όρισμα."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Πολλαπλά αρχεία αρχειοθηκών απαιτούν την επιλογή `-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Δεν είναι δυνατή η επαλήθευση των συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Δεν είναι δυνατή η χρήση πολλαπλών συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Αρνούμαι δειλά στη δημιουργία μίας κενής αρχειοθήκης"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Οι επιλογές `-Aru' δεν είναι συμβατές με  `-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Πρέπει να καθορίσεις μία από τις επιλογές `-Acdtrux'"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2532,34 +2585,34 @@ msgstr ""
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2600,254 +2653,255 @@ msgstr "Εγγραφή σημείου ελέγχου %d"
 msgid "Read checkpoint %u"
 msgstr "Ανάγνωση σημείου ελέγχου %d"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Παράγει αρχεία δεδομένων για δοκιμαστική πλατφόρμα GNU tar.\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 #, fuzzy
 msgid "File creation options:"
 msgstr "Συγκρουόμενες επιλογές συμπίεσης"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr ""
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Άκυρη ένδειξη χρόνου"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Ο αριθμός του i-κόμβου είναι εκτός εύρους"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Άγνωστο σφάλμα συστήματος"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "Δεν είναι δυνατό το κλείσιμο"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "`%s' η εντολή απέτυχε"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "%s: Δεν είναι δυνατή η συμβολική σύνδεση στο %s"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Η θυγατρική διεργασία τερματίστηκε με το σήμα %d"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Κατακερματισμένα ονόματα αρχείων--\n"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Δεν είναι δυνατός ο συνδυασμός --listed-incremental με --newer"
-
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: παράνομη επιλογή -- %c\n"
 
@@ -3336,6 +3390,9 @@ msgstr "--Κατακερματισμένα ονόματα αρχείων--\n"
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Γράφτηκε από τους John Gilmore και Jay Fenlason."
 
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Δεν είναι δυνατός ο συνδυασμός --listed-incremental με --newer"
+
 #~ msgid "Error exit delayed from previous errors"
 #~ msgstr "Καθυστέρησε το σφάλμα εξόδου από προηγούμενα σφάλματα"
 
index 2abb05c1c0016a6a78a03d5fd01ec9d145fdd8bd..0cf2688256d12544c9e69b7f3391dc8e35b635b7 100644 (file)
Binary files a/po/eo.gmo and b/po/eo.gmo differ
index e7cb071a5551af5de84ece9bad6a52003e2fa541..4e17952c6861ff5bfb1fd06861fc2e191f141a02 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -1,64 +1,64 @@
 # Esperanto translation.
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013, 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
-# Felipe Castro <fefcas@gmail.com>, 2013.
+# Felipe Castro <fefcas@gmail.com>, 2013, 2014.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.27\n"
+"Project-Id-Version: tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-07 11:32-0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2014-07-28 10:19-0300\n"
 "Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
-"Language: Esperanto\n"
+"Language: eo\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: Poedit 1.5.4\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "malvalida argumento %s por %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "plursenca argumento %s por %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Validaj argumentoj estas:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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
+#: gnu/argp-help.c:221
 #, 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
+#: gnu/argp-help.c:227
 #, 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
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Nekonata parametro en ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Rubaĵo en ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -66,143 +66,148 @@ msgstr ""
 "Devigaj aŭ nedevigaj argumentoj por longaj modifiloj ankaŭ estas devigaj aŭ "
 "nedevigaj por iu ajn korespondanta mallonga modifilo."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Uzmaniero:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  aŭ: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [MODIFILO...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Raportu program-misojn al %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Nekonata sistem-eraro"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "montri tiun ĉi help-liston"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "montri mallongan mesaĝon pri la uzmaniero"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NOMO"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "difini la program-nomon"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "halti dum SEK sekundoj (apriore 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "montri program-version"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAM-ERARO) Neniu versio estas konata!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: tro da argumentoj\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAM-ERARO) Modifiloj devus esti rekonitaj!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "skrib-eraro"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: modifilo '%s' estas plursenca; ebloj:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: modifilo '-W %s' estas plursenca\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, 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
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: nerekonata modifilo '--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: nerekonata modifilo '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, 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
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, 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
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, 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
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "la memoro plenplenas"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "ne eblas registri nunan labor-dosierujon"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "ni fiaskis reveni al komenca labordosierujo"
@@ -228,11 +233,11 @@ msgstr "ni fiaskis reveni al komenca labordosierujo"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "‘"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "’"
 
@@ -242,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[jJyY]"
 
@@ -252,16 +257,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakigita de %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakigita de %s\n"
@@ -269,11 +274,11 @@ 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -291,19 +296,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Verkita de %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, 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
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Verkita de %s, %s, kaj %s.\n"
@@ -311,7 +316,7 @@ 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -323,7 +328,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +352,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,7 +364,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -373,7 +378,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -387,7 +392,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -402,7 +407,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -412,22 +417,22 @@ msgstr ""
 "Raportu program-misojn al: %s\n"
 "Raportu traduk-misojn al: <translation-team-eo@lists.sourceforge.net>\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Raportu program-misojn de %s al: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s hejm-paĝo: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s hejm-paĝo: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Ĝenerala helpo por uzi programaron GNU: <http://www.gnu.org/gethelp/>\n"
@@ -593,8 +598,8 @@ msgstr "Neatenditaj argumentoj"
 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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NUMERO"
 
@@ -602,10 +607,11 @@ msgstr "NUMERO"
 msgid "set debug level"
 msgstr "difini rafinigan nivelon"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "DOSIERO"
 
@@ -618,7 +624,7 @@ msgstr "difini rafinigan eliran dosiernomon"
 msgid "cannot open %s"
 msgstr "ne eblas malfermi %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "tro da argumentoj"
@@ -627,111 +633,110 @@ msgstr "tro da argumentoj"
 msgid "Garbage command"
 msgstr "Ruba komando"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 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:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Bajtoj entute legitaj"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Bajtoj entute skribitaj"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Bajtoj entute forigitaj: %s\n"
+msgstr "Tuto da bajtoj forigitaj"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(dukto)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Ni rifuzas legi arĥiv-enhavon el terminalo (ĉu mankas modifilon -f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Ni rifuzas skribi arĥiv-enhavon al terminalo (ĉu mankas modifilon -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Malvalida valoro por 'record_size'"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Neniu arĥiv-nomo estas indikita"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ne eblas kontroli arĥivon de ĉefa en/eligujo"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arĥivo estas densigita. Uzu modifilon %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Ne eblas ĝisdatigi densigitajn arĥivojn"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Ĉe komenco de bendo, ni ĉesas nun"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Tro multaj eraroj, ni ĉesas"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "'rmtlseek' ne haltis ĉe rikord-limo"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: enhavas malvalidan volum-numeron"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Datumvolum-numero troigas"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Preparu datumvolumon #%d por %s kaj premu enig-klavon: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "EOF kie respondo de uzanto estis atendata"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "AVERTO: arĥivo estas malkompleta"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -742,67 +747,67 @@ msgstr ""
 " q             Ĉesigi tar\n"
 " y aŭ novlinio Daŭrigi operacion\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Generi subŝelon\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Montri tiun ĉi liston\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Neniu nova datumvolumo: ni eliras.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Dosiernomo ne estis indikata. Reprovu.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Malvalida enigo. Tajpu ? por helpo.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "La komando %s fiaskis"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s ne estas daŭrigata en tiu ĉi datumvolumo"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s ne estas daŭrigata en tiu ĉi datumvolumo"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s estas malkorekta grando (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "La arĥivo ne estas markita por kongrui al %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "La datumvolumo %s ne kongruas al %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -810,7 +815,7 @@ msgstr ""
 "%s: dosiernomo tro longas por esti konservata en GNU-plurvoluma kapo, ni "
 "tranĉis"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "skribo ne finiĝis ĉe bloko-limo"
 
@@ -821,20 +826,20 @@ 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:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Enhavo malsamas"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 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:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Dosiertipo malsamas"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Reĝimo malsamas"
 
@@ -850,7 +855,7 @@ msgstr "GID malsamas"
 msgid "Mod time differs"
 msgstr "Modif-tempo malsamas"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Grando malsamas"
 
@@ -859,138 +864,138 @@ msgstr "Grando malsamas"
 msgid "Not linked to %s"
 msgstr "Ne ligita al %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Simbol-ligo malsamas"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Aparatnumero malsamas"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Kontroli "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: nekonata dosiertipo '%c', ni komparas kiel normalan dosieron"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arĥivo enhavas dosiernomojn kun forigitaj antaŭiraj prefiksoj."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Arĥivo enhavas transformitajn dosiernomojn."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Kontrolo povas malsukcesi lokigi originalajn dosierojn."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Izolita nul-bloko ĉe %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: enhavas kaŝmemoran dosierujan markon %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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
+#: src/create.c:269
 #, 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
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Generado de negativaj okumaj kapoj"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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
+#: src/create.c:612
 #, 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
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: lignomo tro longas; ne ŝutita"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: dosiero estas en malsama dosiersistemo; ne ŝutita"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "enhavo ne estas ŝutita"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: nekonata dosiertipo; dosiero estas preteratentita"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Mankas ligoj al %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: dosiero estas nemodifita; ne ŝutita"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: dosiero estas la arĥivo; ne ŝutita"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "dosierujo ne estas ŝutita"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: dosiero ŝanĝis dum ni legas ĝin"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: konektilo estis preteratentata"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: pordo estis preteratentata"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Ni saltas al sekva kapo"
 
@@ -1008,54 +1013,54 @@ msgstr "%s: malprobable malnova temp-indiko %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: temp-indiko %s estas %s s estontece"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: neatendita malkohero dum kreo de dosierujo"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: ni preterpasas ekzistantan dosieron"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Ni elprenas daŭrigajn dosierojn kiel ordinarajn dosierojn"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Ni provas elpreni simbolajn ligojn kiel rektajn ligojn"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Neatendita long-noma kapo"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, 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
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Nuna %s estas pli nova aŭ sam-aĝa"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: ne eblis savkopii tiun ĉi dosieron"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Ne eblas renomigi %s al %s"
@@ -1105,16 +1110,16 @@ msgstr "Malvalida numero 'inode'"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: bajto %s: %s %.*s... tro longas"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Neatendita EOF en statkopia dosiero"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: bajto %s: %s %s sekvata de malvalida bajto 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1123,113 +1128,114 @@ msgstr ""
 "%s: bajto %s: (valida intervalo %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: bajto %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: bajto %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Mankas rikord-finiganto"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Malĝusta aldona dosier-formo"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nesubtenata versio de aldona formo: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Fuŝa 'dumpdir': ni atendis '%c' sed trovis %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Fuŝa 'dumpdir': duobligita 'X'"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Fuŝa 'dumpdir': malplena nomo en 'R'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Fuŝa 'dumpdir': 'T' ne antaŭsekvata de 'R'"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Fuŝa 'dumpdir': malplena nomo en 'T'"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Fuŝa 'dumpdir': neniam uzata 'X'"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Ne eblas krei provizoran dosierujon uzante la ŝablonon %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: ni ne netigas dosierujon: ne eblas apliki 'stat'"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: forigo de %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: ne eblas forigi"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: ni malinkluzivigas"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloko %s: ** Bloko de NULOj **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloko %s: ** Fino de dosiero **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "bloko %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1237,87 +1243,87 @@ msgstr ""
 "komplementon de du"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arĥivo enhavas malaktualajn kapojn 'base-64'"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " kunligo al %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nekonata dosiertipo %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Longa ligo--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Longa nomo--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Voluma kapo--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Daŭrigita ĉe bajto %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Kreado de dosierujo:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Alinomigo de %s al %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: ne eblas renomigi al %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Renomigo de %s reen al %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: dosiero estis forigata antaŭ ol ni legis ĝin"
@@ -1330,30 +1336,189 @@ msgstr "ida procezo"
 msgid "interprocess channel"
 msgstr "interproceza kanalo"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Loka dosier-elekto:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "UJO"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "ŝanĝi al la dosierujo UJO"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "havigi nomojn por eltiri aŭ krei el DOSIERO"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T legas nul-finigitajn nomojn, malebligas -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "malebligi la efikon de la antaŭa modifilo --null"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "malcitigi enigdosierojn aŭ membro-nomojn (aprioras)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "ne malcitigi enigdosierojn aŭ membro-nomojn"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "ŜABLONO"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "malinkluzivi dosierojn, indikitaj kiel ŜABLONO"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "malinkkluzivi ŝablonojn listigitajn en DOSIERO"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"malinkluzivi enhavojn de dosierujoj enhavantaj CACHEDIR.TAG, krom por la "
+"markdosiero mem"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "malinkluzivi dosierujojn enhavantajn CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"malinkluzivi enhavojn de dosierujoj enhavantaj DOSIEROn, krom por DOSIERO mem"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "legi forig-ŝablonojn por ĉiu dosierujo el DOSIERO, se ĝi ekzistas"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"legi forig-ŝablonojn por ĉiu dosierujo kaj ĝiaj subdosierujoj el DOSIERO, se "
+"ĝi ekzistas"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj DOSIERO"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "malinkluzivi dosierujojn enhavantajn DOSIEROn"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "malinkluzivi versikontrol-sistemajn dosierujojn"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "legi forig-ŝablonojn el la dosieroj por preteratenti VCS"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "malinkluzivi savkopiajn kaj ŝlosajn dosierojn"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "rekursigi en dosierujojn (aprioras)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "eviti malsupreniri aŭtomate en dosierujoj"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"Dosiernom-kongruaj modifiloj (influas kaj ekskluzivajn kaj inkluzivajn "
+"ŝablonojn):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "ŝablonoj kongruas al komenco de dosiernomo"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "ŝablonoj kongruas post iu ajn '/' (aprioras por malinkluzivo)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "preteratenti usklecon"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "uskleca kongruo (aprioras)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "uzi ĵokerojn (aprioras por malinkluzivo)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "laŭvorta ĉena kongruo"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "ĵokeroj kongruas kun '/' (aprioras por malinkluzivo)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "ĵokeroj ne kongruas kun '/'"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "komandlinio"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: dosierlisto petita el %s jam estas legita el %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ne eblas apartigi ĉenon '%s': %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: lego de dosiernomo enhavas nul-signon"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Ŝablon-kongruaj signoj uzataj en dosiernomoj"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1361,47 +1526,47 @@ msgstr ""
 "Uzu --wildcards por ebligi ŝablon-kongruon, aŭ --no-wildcards por eviti tiun "
 "ĉi averton"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: ne trovita en arĥivo"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: postulata apero ne estis trovata en arĥivo"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Miskongruo de arĥiva etikedo"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Nur unu modifilo -C estas permesata kun --listed-incremental"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Ambaŭ modifiloj '-%s' kaj '-%s' postulas ĉefenigujon"
+msgstr "Ambaŭ modifiloj '%s' kaj '%s' postulas ĉefenigujon"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: malvalida arĥiv-formo"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-trajtoj estas dezirataj en neakordigebla arĥiv-formo"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1409,7 +1574,7 @@ msgstr ""
 "Nekonata citila stilo '%s'. Provu '%s --quoting-stile=help' por havigi "
 "liston."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1428,7 +1593,7 @@ msgstr ""
 "tar.\n"
 "  tar -xf archive.tar          # Eltiras ĉiujn dosierojn el archive.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1449,79 +1614,87 @@ msgstr ""
 "  nil, existing   numerigi se numeritaj jam ekzistas, alie generi simplajn\n"
 "  never, simple   ĉiam generi simplajn savkopiojn\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Ĉefa operacia reĝimo:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "listigi la enhavon de arĥivo"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "eltiri dosierojn el arĥivo"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "krei novan arĥivon"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "trovi malsamojn inter la arĥivo kaj la dosiersistemo"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "postmeti dosierojn al la fino de arĥivo"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "nur postmeti dosierojn pli novajn ol la kopio en arĥivo"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "postmeti tar-dosierojn al arĥivo"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "forigi el la arĥivo (ne en magnet-bendoj!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "testi la arĥivan volum-etikedon kaj eliri"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Operaciaj modifiloj:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "trakti disajn dosierojn ŝpareme"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "ĈEFA[.KROMA]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "difini version de la uzota disa formo (implicas --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "trakti malnovan GNU-forman aldonan savkopion"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "trakti novan GNU-forman aldonan savkopion"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "ŝut-nivelo por kreita listita-aldona arĥivo"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "ne eliri kun nenulo pro nelegeblaj dosieroj"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1533,139 +1706,148 @@ msgstr ""
 "list kaj kiam listo de dosieroj estas indikita en la komandlinio aŭ per la "
 "modifilo -T; NUMERO apriore estas 1"
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "arĥivo estas serĉebla"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "arĥivo ne estas serĉebla"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "ne kontroli aparat-numerojn dum kreo de aldonaj arĥivoj"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "kontroli aparat-numerojn dum kreo de aldonaj arĥivoj (aprioras)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Anstataŭiga administro:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "provi kontroli la arĥivon post skribi ĝin"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "forigi dosierojn post aldoni ilin al la arĥivo"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 "ne anstataŭigi ekzistantajn dosierojn dum eltiro, trakti ilin kiel erarojn"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "ne anstataŭigi ekzistantajn dosierojn dum eltiro, silente preterpasi ilin"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "anstataŭigi ekzistantajn dosierojn dum eltiro"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "forigi ĉiun dosieron antaŭ ol eltiri sur ĝi"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "malplenigi hierarkiojn antaŭ ol eltiri dosierujon"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "teni metadatumaron pri ekzistantaj dosierujoj"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "anstataŭigi metadatumaron pri ekzistantaj dosierujoj dum eltiro (aprioras)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "teni ekzistantajn simbolajn ligojn al dosierujoj dum eltiro"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "UJO"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "krei subdosierujon por eviti malstriktajn dosierojn eltirataj"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Elekti eligfluon:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "eltiri dosierojn al ĉefeligujo"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "KOMANDO"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "dukti eltiritajn dosierojn al alia programo"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "preteratenti elir-kodojn de idoj"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "trakti ne-nulajn elir-kodojn de idoj kiel erarojn"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Traktado de dosier-atributoj:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "devigi NOMOn kiel posedanton por aldonataj dosieroj"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "devigi NOMOn kiel grupon por aldonataj dosieroj"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATO-AŬ-DOSIERO"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "difini 'mtime' por aldonataj dosieroj el DATO-AŬ-DOSIERO"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ŜANĜOJ"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "devigi (simbolajn) reĝimajn ŜANĜOJn por aldonataj dosieroj"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODO"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1675,11 +1857,11 @@ msgstr ""
 "lego (METODO='replace'; aprioras) aŭ per ne-difino de la horoj en la unua "
 "loko (METODO='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "ne eltiri dosieran modif-horon"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1687,19 +1869,19 @@ msgstr ""
 "provi eltiri dosierojn kun la sama posedanteco kiel ekzistanta en la arĥivo "
 "(aprioras por ĉefuzanto)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "eltiri dosierojn kiel vi mem (aprioras por ordinaraj uzantoj)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "ĉiam uzi numerojn por uzant/grup-nomoj"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "eltiri informon pri dosier-permesoj (aprioras por ĉefuzanto)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1707,17 +1889,13 @@ msgstr ""
 "apliki 'umask' de uzanto dum eltiro de permesoj por la arĥivo (aprioras por "
 "ordinaraj uzantoj)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 "membraj argumentoj estas listigitaj samorde ol la dosieroj en la arĥivo"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "same ol uzi kaj -p kaj -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1725,187 +1903,187 @@ msgstr ""
 "prokrastigi difinon de modif-horoj kaj permesoj de eltiritaj dosierujoj ĝis "
 "la fino de la eltirado"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "nuligi la efikon de la modifilo --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDO"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "dosieruja ordigo: 'none' (aprioras) aŭ 'name'"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Traktado de etenditaj dosier-atributoj:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Ebligi subtenon al etenditaj atributoj"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Malebligi subtenon al etenditaj atributoj"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASKO"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "indiki la inkluzivan ŝablonon por klavoj xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "indiki la malinkluzivan ŝablonon por klavoj xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Ebligi subtenon al la kunteksto SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Malebligi subtenon al la kunteksto SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Ebligi subtenon al POSIX ACL-oj"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Malebligi subtenon al POSIX ACL-oj"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Aktivigo kaj elekto de aparato:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARĤIVO"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "uzi arĥivan dosieron aŭ aparaton ARĤIVO"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "uzi indikitan KOMANDOn rmt anstataŭ rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "uzi deforan KOMANDOn anstataŭ rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "indiki diskon kaj denson"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "krei/listigi/eltiri plur-voluman arĥivon"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "ŝanĝi bend-aparaton post skribi NUMERO x 1024 bajtojn"
 
-#: src/tar.c:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "uzi/ĝisdatigi la volum-numeron en DOSIERO"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Aparat-blokoj:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKOJ"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKOJ x 512 bajtoj por rikordo"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NUMERO da bajtoj por rikordo, oblo de 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "preteratenti nuligitajn blokojn en arĥivo (signifas EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "reblokigi dum ni legas (por duktoj 4.2BSD)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Elekto de arĥiv-formo:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMO"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "krei arĥivon el indikita formo"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMO estas unu el la jenaj:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "malnova formo V7 tar"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "Formo GNU kiel en tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "Formo de GNU-tar 1.13.5"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "Formo POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "Formo POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "same ol pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "same ol --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "same ol --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ŝlosilo[[:]=valoro][,ŝlosilo[[:]=valoro]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "kontroli pax-ŝlosilojn"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEKSTO"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1913,183 +2091,80 @@ msgstr ""
 "krei arĥivon kun volum-nomo TEKSTO; dum listigo/eltiro, uzi TEKSTOn kiel "
 "ĵokeran ŝablonon por volum-nomo"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Densigaj modifiloj:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "uzi arĥivan sufikson por determini la densigan programon"
 
-#: src/tar.c:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtri tra PROG (devas akcepti -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Loka dosier-elekto:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "ŝanĝi al la dosierujo UJO"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "havigi nomojn por eltiri aŭ krei el DOSIERO"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T legas nul-finigitajn nomojn, malebligas -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "malebligi la efikon de la antaŭa modifilo --null"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "malcitigi dosiernomojn legitajn per -T (aprioras)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "ne malcitigi dosiernomojn legitajn per -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "ŜABLONO"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "malinkluzivi dosierojn, indikitaj kiel ŜABLONO"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "malinkkluzivi ŝablonojn listigitajn en DOSIERO"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"malinkluzivi enhavojn de dosierujoj enhavantaj CACHEDIR.TAG, krom por la "
-"markdosiero mem"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "malinkluzivi dosierujojn enhavantajn CACHEDIR.TAG"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-"malinkluzivi enhavojn de dosierujoj enhavantaj DOSIEROn, krom por DOSIERO mem"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj DOSIERO"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "malinkluzivi dosierujojn enhavantajn DOSIEROn"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "malinkluzivi versikontrol-sistemajn dosierujojn"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "malinkluzivi savkopiajn kaj ŝlosajn dosierojn"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "eviti malsupreniri aŭtomate en dosierujoj"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "resti en loka dosiersistemo dum kreo de arĥivo"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "rekursigi en dosierujojn (aprioras)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "ne demeti antaŭirajn '/'-ojn el dosiernomoj"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "MEMBRO-NOMO"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "komenci per la membro MEMBRO-NOMO dum lego de la arĥivo"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "nur konservi dosierojn pli novajn ol DATO-AŬ-DOSIERO"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATO"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "kompari daton kaj horon nur kiam datumaro ŝanĝis"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "KONTROLO"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "savkopii antaŭ ol forigi, elekti versi-KONTROLOn"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "ĈENO"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2097,97 +2172,59 @@ msgstr ""
 "savkopii antaŭ ol forigi, anstataŭigi ordinaran sufikson ('~' krom se "
 "anstataŭigita de medi-variablo SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Dosiernomaj transformigoj:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "demeti NUMERO antaŭirajn komponantojn el dosiernomoj dum eltiro"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "ESPRIMO"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "uzi sed-anstataŭigan ESPRIMOn por transformigi dosiernomojn"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-"Dosiernom-kongruaj modifiloj (influas kaj ekskluzivajn kaj inkluzivajn "
-"ŝablonojn):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "preteratenti usklecon"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "ŝablonoj kongruas al komenco de dosiernomo"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "ŝablonoj kongruas post iu ajn '/' (aprioras por malinkluzivo)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "uskleca kongruo (aprioras)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "uzi ĵokerojn (aprioras por malinkluzivo)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "laŭvorta ĉena kongruo"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "ĵokeroj ne kongruas kun '/'"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "ĵokeroj kongruas kun '/' (aprioras por malinkluzivo)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informa eligo:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "detale listigi procezitajn dosierojn"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "ŜLOSILVORTO"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "avert-kontrolo"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "montri progres-mesaĝojn je ĉiu NUMERa rikordo (aprioras 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "AGO"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "plenumigi AGOn je ĉiu kontrolpunkto"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "montri mesaĝon se ne ĉiuj ligoj estos ŝutitaj"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNALO"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2199,35 +2236,35 @@ msgstr ""
 "estas: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 kaj SIGUSR2; la nomoj sen prefikso "
 "SIG ankaŭ akcepteblas"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "montri dosierajn modif-horojn laŭ UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "montri dosieran horon per ĝia tuta distingivo"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "sendi detalan eligon al DOSIERO"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "montri bloknumeron ene de arĥivo je ĉiu mesaĝo"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "peti konfirmon por ĉiu ago"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "montri apriorojn de tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "montri validajn intervalojn por kampoj de statkopi-dosiero"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2235,45 +2272,52 @@ msgstr ""
 "dum listigo aŭ eltiro, listigi ĉiun dosierujon kiu ne kongruas al serĉ-"
 "kriterio"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "montri dosieron aŭ arĥivajn nomojn post transformigo"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STILO"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "krome citigi signojn el ĈENO"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "malebligi citigon por signoj el ĈENO"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Akordigeblaj modifiloj:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 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:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Aliaj modifiloj:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "malebligi uzon de kelkaj eble damaĝaj modifiloj"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "'%s' ne uzeblas kun '%s'"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2281,40 +2325,40 @@ msgstr ""
 "Vi ne devas indiki pli ol unu el la modifiloj '-Acdtrux', '--delete' aŭ '--"
 "test-label'"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konfliktantaj densigaj modifiloj"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nekonata signal-nomo: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Data specimen-dosiero ne estis trovata"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Ni anstataŭigas %s por la nekonata dato-formo %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Modifilo %s: ni traktas daton '%s' kiel %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtri la arĥivon tra %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Validaj argumentoj por la modifilo --quoting-style estas:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2322,185 +2366,196 @@ msgstr ""
 "\n"
 "*Tiu ĉi* tar apriorigas tion:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Malvalida posedanto aŭ grupo-ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Malvalida blok-faktoro"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Malvalida benda longo"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Malvalida aldon-nivela valoro"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Pli ol unu lim-dato"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Malvalida disa versi-valoro"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ne estas subtenata en tiu ĉi platformo"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "valoro de --checkpoint ne estas entjero"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Malvalida reĝimo indikita en modifilo"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Malvalida numero"
 
-#: src/tar.c:1982
-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:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Malvalida rikord-grando"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Rikord-grando devas esti oblo de %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Malvalida nombro da elementoj"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Nur unu modifilo --to-command estas permesata"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Fuŝa densiga argumento: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Nekonata densigo: '%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Eraro dum analizo de numero proksime de '%s'"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[DOSIERO]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "la modifilo --%s ne uzeblas kun %s"
+msgid "non-option arguments in %s"
+msgstr "malvalida argumento %s por %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "ne eblas apartigi ĉenon '%s': %s"
+
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "La malnova modifilo '%c' postulas argumenton."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "Sen dosierlisto, --occurrence estas sensignifa"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Multoblaj arĥiv-dosieroj postulas modifilon '-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Sen --listed-incremental, --level estas sensignifa"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Ne eblas kontroli plur-volumajn arĥivojn"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Ne eblas kontroli densigitajn arĥivojn"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ne eblas uzi plur-volumajn densigitajn arĥivojn"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Ne eblas kunmeti densigitajn arĥivojn"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option nur uzeblas en arĥivoj POSIX"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls nur uzeblas en arĥivoj POSIX"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux nur uzeblas en arĥivoj POSIX"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs nur uzeblas en arĥivoj POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Ne eblas konjekti supro-nivela dosieruja nomo; bonvolu indiki ĝin klare per "
+"--one-top-level=UJO"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Datum-voluma longo ne povas esti malpli ol rikord-grando"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Malkuraĝe ni rifuzas krei malplenan arĥivon"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Modifiloj '-Aru' ne akordigeblas kun '-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Vi devas indiki unu el la modifiloj '-Acdtrux', --delete' aŭ '--test-label'"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Ni eliras kun malsukcesa stato pro antaŭaj eraroj"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "dosieruja ordigo: 'none' (aprioras), 'name' aŭ inode"
 
 #: src/update.c:87
 #, c-format
@@ -2554,34 +2609,34 @@ msgstr "Fuŝa etendita kapo: mankas nov-linio"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ni preteratentas nekonatan etenditan kapan ŝlosilon '%s'"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Fuŝa etendita kapo: malvalida %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Fuŝa etendita kapo: troiga %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Fuŝa etendita kapo: malvalida %s: neatendita apartigilo %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Fuŝa etendita kapo: malvalida %s: malpara nombro da valoroj"
@@ -2622,7 +2677,7 @@ msgstr "Skriba kontrol-punkto %u"
 msgid "Read checkpoint %u"
 msgstr "Lega kontrol-punkto %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2631,72 +2686,76 @@ msgstr ""
 "de GNU.\n"
 "MODIFILOJ estas:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Dosier-kreaj modifiloj:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "GRANDO"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Krei dosieron el indikita GRANDO"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Skribi al dosiero NOMO, anstataŭ al ĉefeligujo"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Legi dosiernomojn el DOSIERO"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T legas nul-finigitajn nomojn"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 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
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Grando de bloko por disa dosiero"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 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
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "DEŜOVO"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 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
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Dosier-statistikaj modifiloj:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 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
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Sinkronaj plenumaj modifiloj:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "MODIFILO"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2704,19 +2763,19 @@ msgstr ""
 "Plenumi ARGj. Utilas kun --checkpoint kaj unu el --cut, --append, --touch, --"
 "unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Plenumi indikitan agon (vidu sube), kiam atingi kontrolpunkton NUMERO"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Difini daton por la modifilo --touch kiu sekvas"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Montri plenumitajn kontrolpunktojn kaj elir-staton de KOMANDO"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2724,7 +2783,7 @@ msgstr ""
 "Sinkronaj plenumaj agoj. Tiuj ĉi estas plenumataj kiam oni atingas "
 "kontrolpunktan numeron indikitan de modifilo --checkpoint."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2732,154 +2791,164 @@ msgstr ""
 "Tranĉi DOSIEROn al la grando indikita de antaŭa modifilo --length (aŭ 0, se "
 "ne indikita)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 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
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Ĝisdatigi la alirajn kaj modifajn horojn de DOSIERO"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Lanĉi KOMANDOn"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Malligi DOSIEROn"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Malvalida grando: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Numero estas for de permesata intervalo: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativa grando: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) fiaskis"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "petita dosier-longo: %lu, fakta: %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "kreita dosiero ne estas disa"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Eraro dum analizo de numero proksime de '%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Nekonata dat-formo"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGj...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "ne eblas malfermi '%s'"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "ne eblas apliki 'seek'"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "dosiernomo enhavas nul-signon"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "malĝusta masko (proksime de '%s')"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Nekonata kampo '%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ne eblas difini horon por '%s'"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "ne eblas tranĉi '%s'"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "komando fiaskis: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "ne eblas apliki 'unlink' al '%s'"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Komando eliris sukcese\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Komando fiaskis kun stato %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Komando estis ĉesigata de signalo %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Komando haltis pro signalo %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Komando ŝutis nukleon\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Komando estas ĉesigita\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat postulas dosiernomojn"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "same ol uzi kaj -p kaj -s"
+
+#~ 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"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "--occurrence ne povas esti uzata kun %s"
 
index edfee85003d749e686a94c6a1431ca36a3430153..7c94d9d9e6d04223eed377f3e9ea73ad1bb2c380 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index ea52c9959dc8cc3bbf49205b9a4c026c631e5c18..6c025a683bb82d7557e4a94e3a7be44a207c5be5 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -4,15 +4,16 @@
 # Federico Rivas <frivas@arrakis.es>, 1997.
 # Enrique Melero <melero@iprolink.ch>, 1997.
 # Santiago Vila Doncel <sanvila@unex.es>, 1998, 1999, 2000, 2001, 2002, 2004, 2014.
+# Antonio Ceballos <aceballos@gmail.com>, 2015, 2016
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.27\n"
+"Project-Id-Version: GNU tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2014-07-15 19:39+0200\n"
-"Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-22 12:32+0100\n"
+"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
 "Language-Team: Spanish <es@tp.org.es>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
@@ -20,46 +21,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argumento %s inválido para %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argumento %s ambiguo para %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Los argumentos válidos son:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr "ARGP_HELP_FMT: el valor de %s es menor o igual que %s"
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: El parámetro ARGP_HELP_FMT debe ser positivo"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Parámetro ARGP_HELP_FMT desconocido"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Incongruencia en ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -68,19 +69,19 @@ msgstr ""
 "también\n"
 "obligatorios u opcionales para las opciones cortas correspondientes."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Modo de empleo:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr " o bien: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPCIÓN...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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"
@@ -91,126 +92,131 @@ msgstr "Pruebe '%s --help' o '%s --usage' para más información.\n"
 # Edsger W. Dijkstra, "On the cruelty of really teaching computing science"
 #
 # http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Comunicar errores a %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Error del sistema desconocido"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "da esta lista de ayuda"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "da un mensaje de uso corto"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NOMBRE"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "establece el nombre del programa"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEGS"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "cuelga durante SEGS segundos (por omisión 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "muestra la versión del programa"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ERROR DEL PROGRAMA) ¿¡No se sabe cuál es la versión!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Demasiados argumentos\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ERROR DEL PROGRAMA) ¿¡No se debería haber reconocido la opción!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "error de escritura"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: la opción '%s' es ambigua; posibilidades:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: la opción '%s' es ambigua\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: la opción '--%s' requiere un argumento\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: opción no reconocida '--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: opción no reconocida '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opción inválida -- '%c'\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: la opción requiere un argumento -- '%c'\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: la opción '-W %s' es ambigua\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: la opción '-W %s' requiere un argumento\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memoria agotada"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "no se puede obtener el directorio de trabajo actual"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "fallo al volver al directorio de trabajo inicial"
@@ -236,11 +242,11 @@ msgstr "fallo al volver al directorio de trabajo inicial"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "«"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "»"
 
@@ -250,7 +256,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[sSyY]"
 
@@ -260,16 +266,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Empaquetado por %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Empaquetado por %s\n"
@@ -277,11 +283,11 @@ msgstr "Empaquetado 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -298,19 +304,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Escrito por %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Escrito por %s y %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Escrito por %s, %s y %s.\n"
@@ -318,7 +324,7 @@ msgstr "Escrito por %s, %s y %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -330,7 +336,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -342,7 +348,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -354,7 +360,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -366,7 +372,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -380,7 +386,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -394,7 +400,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -409,7 +415,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -418,22 +424,22 @@ msgstr ""
 "\n"
 "Comunicar errores a: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Comunicar errores en %s a: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Página de %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Página de %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Ayuda general sobre el uso de software de GNU: <http://www.gnu.org/gethelp/"
@@ -579,14 +585,12 @@ msgid "Seek offset out of range"
 msgstr "Desplazamiento fuera de rango"
 
 #: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
-#, fuzzy
 msgid "Invalid byte count"
-msgstr "Longitud de cinta inválida"
+msgstr "Número de bytes inválido"
 
 #: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
-#, fuzzy
 msgid "Byte count out of range"
-msgstr "Desplazamiento fuera de rango"
+msgstr "Número de bytes fuera de rango"
 
 # FIXME. Este es el único eof en minúsculas.
 #: rmt/rmt.c:558
@@ -611,8 +615,8 @@ msgstr "Argumentos inesperados"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Maneja una unidad de cinta, aceptando órdenes de un proceso remoto"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NÚMERO"
 
@@ -620,10 +624,11 @@ msgstr "NÚMERO"
 msgid "set debug level"
 msgstr "establece el nivel de depuración"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FICHERO"
 
@@ -636,7 +641,7 @@ msgstr "establece el nombre del fichero para la salida de depuración"
 msgid "cannot open %s"
 msgstr "No se puede abrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "demasiados argumentos"
@@ -645,13 +650,13 @@ msgstr "demasiados argumentos"
 msgid "Garbage command"
 msgstr "Orden ininteligible"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Esto no parece un archivo tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Bytes leídos en total"
 
@@ -660,7 +665,7 @@ msgstr "Bytes leídos en total"
 # "bytes escritos en total" suena demasiado complejo... Nicolás Lichtmaier.
 # Suena algo extraño eso de "total de bytes". "en total" me suena
 # mucho más natural. sv
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Bytes escritos en total"
 
@@ -669,10 +674,9 @@ msgstr "Bytes escritos en total"
 # "bytes escritos en total" suena demasiado complejo... Nicolás Lichtmaier.
 # Suena algo extraño eso de "total de bytes". "en total" me suena
 # mucho más natural. sv
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Bytes borrados en total: %s\n"
+msgstr "Bytes borrados en total"
 
 # Antes de que nadie diga nada:
 #
@@ -688,25 +692,27 @@ msgstr "Bytes borrados en total: %s\n"
 # aparecer *varias* veces, y entonces sí que es una paliza.
 # Ejemplo de paliza: "tubería rota" en libc. Sale muchísimo y no es
 # cuestión de ver (pipe) cuarenta veces al día...
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(tubería)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Declinando leer contenido de archivo desde terminal (¿falta la opción -f)?"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Declinando escribir contenido de archivo a terminal (¿falta la opción -f)?"
 
 # ¿No queda más bonita la 1ª comilla abierta así: `record_size'?
 # Sí. FIXME. Comunicar al autor. sv
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "El valor de `record_size' no es válido"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "No se ha especificado ningún nombre de archivo"
 
@@ -725,69 +731,69 @@ msgstr "No se ha especificado ningún nombre de archivo"
 # o algo así. Quizá "No se puede verificar un archivo tomado de la entrada
 # estándar o escrito hacia la salida estándar", pero es un poco largo.. =)
 #
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "No se puede verificar la entrada/salida estándar"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "El archivo está comprimido. Utilice la opción %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "No se pueden actualizar archivos comprimidos"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Al principio de la cinta, se terminará ahora"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Demasiados errores, abandono"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek no paró en los límites de un registro"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contiene un número de volumen inválido"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Desbordamiento en el número de volumen"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare el volumen #%d para %s y pulse intro: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr ""
 "Se encontró un final de fichero mientras se esperaba respuesta del usuario"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "ATENCIÓN: El archivo está incompleto"
 
@@ -819,25 +825,24 @@ msgstr "ATENCIÓN: El archivo está incompleto"
 # 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:1200
-#, fuzzy, c-format
+#: src/buffer.c:1223
+#, 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 [nombre] Da un nuevo nombre de archivo al siguiente\n"
-"            (y consecutivos) volumen(es)\n"
-" q          Aborta tar\n"
-" !          Lanza un subshell\n"
-" ?          Muestra esta ayuda\n"
+" n nombre      Da un nuevo nombre de archivo al siguiente\n"
+"               (y consecutivos) volumen(es)\n"
+" q             Aborta tar\n"
+" y o Intro     Sigue\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Lanza un subshell\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Muestra esta lista\n"
@@ -848,35 +853,37 @@ msgstr " ?             Muestra esta lista\n"
 # 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:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "No hay volumen nuevo; finalizando.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "No se ha especificado el nombre del fichero. Inténtelo de nuevo.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Entrada inválida. Teclee ? para obtener ayuda.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "La orden %s falló"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s no continúa en este volumen"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, c-format
+msgid "%s is possibly continued on this volume: header contains truncated name"
+msgstr ""
+"%s posiblemente continúa en este volumen: la cabecera contiene un nombre "
+"truncado"
+
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s tiene un tamaño erróneo (%s != %s + %s)"
@@ -896,7 +903,7 @@ msgstr "%s tiene un tamaño erróneo (%s != %s + %s)"
 # él solito.
 # Todavía espero una solución mágica que sea mejor que las dos
 # que tenemos hasta ahora.
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volumen está fuera de secuencia (%s - %s != %s)"
@@ -907,17 +914,17 @@ msgstr "Este volumen está fuera de secuencia (%s - %s != %s)"
 # 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "El archivo no está etiquetado para que coincida con %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "El volumen %s no coincide con %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -929,7 +936,7 @@ 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:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "la escritura no terminó en un límite de bloque"
 
@@ -940,16 +947,16 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "El contenido es distinto"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Fin de fichero inesperado en el archivo"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "El tipo de fichero es distinto"
 
@@ -959,7 +966,7 @@ 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:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "El modo es distinto"
 
@@ -975,7 +982,7 @@ msgstr "El gid es distinto"
 msgid "Mod time differs"
 msgstr "La fecha de modificación es distinta"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "El tamaño es distinto"
 
@@ -987,18 +994,18 @@ msgstr "El tamaño es distinto"
 msgid "Not linked to %s"
 msgstr "No se enlaza a %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "El enlace simbólico es distinto"
 
-#: src/compare.c:318
+#: src/compare.c:322
 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:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verificar "
@@ -1009,70 +1016,70 @@ msgstr "Verificar "
 # # cambiaría "se toma" por "se ha tomado". gag
 # Es norma habitual convertir un pasado en un presente en estos casos.
 # Realmente, dice lo que hace y no lo que ha hecho. sv
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 "El archivo contiene nombres de fichero con los prefijos iniciales eliminados."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "El archivo contiene nombres de fichero transformados."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Puede que la verificación no encuentre los ficheros originales."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Un bloque de ceros aislado en %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: contiene una marca de directorio caché %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valor %s fuera del rango %s %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Generando cabeceras octales negativas"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: el nombre del enlace es demasiado largo; no se vuelca"
@@ -1085,7 +1092,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:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -1094,13 +1101,13 @@ msgstr[0] ""
 msgstr[1] ""
 "%s: El tamaño del fichero ha disminuido en %s bytes, se rellena con ceros"
 
-#: src/create.c:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "no se vuelca el contenido"
 
@@ -1120,47 +1127,47 @@ msgstr "no se vuelca el contenido"
 # 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:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipo de fichero desconocido; no se tendrá en cuenta"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Faltan enlaces a %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, 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:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: el fichero es el propio archivo; no se vuelca"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "no se vuelca el directorio"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: el fichero cambió mientras se estaba leyendo"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: el `socket' no se tendrá en cuenta"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: no se tendrá en cuenta la puerta"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Saltando a la siguiente cabecera"
 
@@ -1178,17 +1185,17 @@ msgstr "%s: marca de fecha sospechosamente antigua %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: la marca de tiempo %s está %s s en el futuro"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistencia inesperada al crear el directorio"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: se salta un fichero que existe"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr ""
@@ -1198,7 +1205,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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Extrayendo ficheros contiguos como ficheros regulares"
 
@@ -1207,37 +1214,37 @@ 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:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Intentando la extracción de enlaces simbólicos como enlaces duros"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Cabecera de nombres largos inesperada"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "El %s actual es más reciente o de la misma fecha"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, 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:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "No se puede renombrar %s a %s"
@@ -1286,134 +1293,134 @@ msgstr "Número de nodo-i inválido"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: byte %s: %s %.*s... demasiado largo"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
-#, fuzzy
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
-msgstr "Fin de fichero inesperado en el archivo"
+msgstr "Fin de fichero inesperado en el archivo de instantánea"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: byte %s: %s %s seguido por el byte inválido 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: byte %s: (el rango válido es %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Falta la terminación del registro"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
-msgstr ""
+msgstr "Formato erróneo de fichero incremental"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
-msgstr ""
+msgstr "Versión no soportada de formato incremental: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr ""
+msgstr "Dumpdir erróneo: se esperaba '%c' pero se encontró %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr ""
+msgstr "Dumpdir erróneo: 'X' duplicado"
 
-#: src/incremen.c:1568
-#, fuzzy
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "Argumento de densidad mal formado: %s"
+msgstr "Dumpdir erróneo: nombre vacío en 'R'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr ""
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
+msgstr "Dumpdir erróneo: 'T' no está precedido por 'R'"
 
-#: src/incremen.c:1587
-#, fuzzy
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Argumento de densidad mal formado: %s"
+msgstr "Dumpdir erróneo: nombre vacío en 'T'"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
+"Dumpdir erróneo: se esperaba '%c' pero se encontró el final de los datos"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
-msgstr ""
+msgstr "Dumpdir erróneo: no se ha utilizado nunca 'X'"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "No se puede crear un directorio temporal usando la plantilla %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, 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:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Borrando %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: No se puede borrar"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Se omite"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloque %s: ** Bloque de NULos **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloque %s: ** Fin de Fichero **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "bloque %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1421,87 +1428,87 @@ msgstr ""
 "se supone complemento a dos"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "El archivo contiene cabeceras base 64 obsoletas"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "El valor del archivo %s está fuera del rango de %s %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " enlace a %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo de fichero desconocido %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Enlace largo--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nombre largo--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabecera de Volumen--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continúa en el byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Creando el directorio:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Se renombra %s como %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: No se puede renombrar a %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Se vuelve a renombrar %s como %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: El fichero fue borrado antes de leerlo"
@@ -1514,32 +1521,201 @@ msgstr "proceso hijo"
 msgid "interprocess channel"
 msgstr "canal de interproceso"
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Selección del fichero local:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+"añade el FICHERO dado al archivo (útil si su nombre comienza con un guion)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "cambia al directorio DIR"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "obtiene los nombres que se van a extraer o crear de FICHERO"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T lee nombres terminados en nulo; implica --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "desactiva el efecto de la opción --null anterior"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"quita las comillas de los nombres de ficheros de entrada o de miembros "
+"(predeterminado)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+"no quita las comillas de los nombres de ficheros de entrada o de miembros"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T lee nombres de fichero literalmente (sin manejo de opciones)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+"-T trata los nombres de fichero que comienzan con guión como opciones "
+"(predeterminado)"
+
+# Nota: La diferencia entre un PATRÓN y una EXPREG es que
+# el primero se refiere a un "globbing pattern", es decir, patrones
+# 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/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PATRÓN"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "excluye ficheros, dados como un PATRÓN"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "excluye los patrones listados en FICHERO"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"excluye el contenido de los directorios que contienen CACHEDIR.TAG, excepto "
+"por el propio fichero CACHEDIR.TAG"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "excluye todo bajo los directorios que contienen CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "excluye los directorios que contienen CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"excluye el contenido de los directorios que contengan FICHERO, excepto el "
+"propio FICHERO"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+"leer en FICHERO, si existe, los patrones de exclusión oara cada directorio"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"leer en FICHERO, si existe, los patrones de exclusión oara cada directorio "
+"sus subdirectorios"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "exclute todo bajo los directorios que contengan FICHERO"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "excluye los directorios que contengan FICHERO"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "excluye los directorios de sistemas de control de versiones"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "lee los patrones de exclusión de los ficheros de descarte de VCS"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "excluye los ficheros de respaldo y de bloqueo"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "opera recursivamente sobre los directorios (por omisión)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "evita descender automáticamente en los directorios"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"opciones de coincidencia para nombres de fichero (afectan a los patrones de "
+"exclusión y de inclusión):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "los patrones encajan con el comienzo del nombre del fichero"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+"los patrones encajan después de cualquier `/' (por omisión para exclusión)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "no distingue mayúsculas de minúsculas"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "distingue mayúsculas de minúsculas (por omisión)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "utiliza comodines (predeterminado para exclusión)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "coincidencia de cadenas verbatim"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "los comodines encajan con `/' (por omisión para exclusión)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "los comodines no encajan con `/'"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "línea de órdenes"
 
-#: src/names.c:378
-#, fuzzy, c-format
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: ya se ha leído la lista de ficheros"
+msgstr "%s: la lista de ficheros solicitada en %s ya se ha leído de %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "no se puede dividir la cadena '%s': %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: el nombre de fichero leído contiene el carácter nul"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 "Se han utilizado caracteres de expresiones regulares en los nombres de los "
 "ficheros"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1547,12 +1723,12 @@ msgstr ""
 "Utilice --wildcards para activar el encaje de patrones, o --no-wildcards "
 "para suprimir este aviso"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: No se encuentra en el archivo"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: El elemento solicitado no se encuentra en el archivo"
@@ -1563,37 +1739,37 @@ 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:879
-#, fuzzy, c-format
+#: src/names.c:1297
+#, c-format
 msgid "Archive label mismatch"
-msgstr "El archivo no está etiquetado para que coincida con %s"
+msgstr "Discordancia en la etiqueta del archivo"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Usar la opción -C dentro de una lista de ficheros no está permitido con --"
 "listed-incremental"
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Solamente se permite una opción -C con --listed-incremental"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Las opciones '-%s' y '-%s' requieren entrada estándar"
+msgstr "Las opciones '%s' y '%s' requieren entrada estándar"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Formato de archivo inválido"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Se requieren características de GNU en formato de archivo incompatible"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1616,8 +1792,7 @@ 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:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1636,15 +1811,6 @@ msgstr ""
 "  tar -tvf archivo.tar      # Lista los ficheros de archivo.tar con "
 "detalle.\n"
 "  tar -xf archivo.tar       # Extrae todos los ficheros de archivo.tar.\n"
-"\vEl sufijo de respaldo es `~', a menos que se especifique con --suffix\n"
-"o con SIMPLE_BACKUP_SUFFIX. El control de versiones puede establecerse\n"
-"con --backup o con VERSION_CONTROL, los valores son:\n"
-"\n"
-"  t, numbered     hace copias de seguridad numeradas\n"
-"  nil, existing   numerada si existen copias de seguridad numeradas, "
-"simples\n"
-"                  en otro caso\n"
-"  never, simple   siempre hace copias de seguridad simples\n"
 
 # Yo usaría "recuperar", en vez de "restablecer". Lo de repetir "archivo"
 # dos veces en la misma frase no me suena bien, así que pondría "... a
@@ -1661,8 +1827,7 @@ 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:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1673,92 +1838,93 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"GNU `tar' guarda varios ficheros juntos en un solo archivo en cinta o disco, "
-"y\n"
-"puede restablecer ficheros individuales a partir del archivo.\n"
-"\n"
-"Ejemplos:\n"
-"  tar -cf archivo.tar fu fa # Crea archivo.tar con los ficheros fu y fa.\n"
-"  tar -tvf archivo.tar      # Lista los ficheros de archivo.tar con "
-"detalle.\n"
-"  tar -xf archivo.tar       # Extrae todos los ficheros de archivo.tar.\n"
-"\vEl sufijo de respaldo es `~', a menos que se especifique con --suffix\n"
+"El sufijo de respaldo es '~', a menos que se especifique con --suffix\n"
 "o con SIMPLE_BACKUP_SUFFIX. El control de versiones puede establecerse\n"
 "con --backup o con VERSION_CONTROL, los valores son:\n"
 "\n"
+"  none, off       no hace copias de seguridad\n"
 "  t, numbered     hace copias de seguridad numeradas\n"
 "  nil, existing   numerada si existen copias de seguridad numeradas, "
 "simples\n"
 "                  en otro caso\n"
 "  never, simple   siempre hace copias de seguridad simples\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Modo principal de operación:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "lista el contenido de un archivo"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "extrae ficheros de un archivo"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "crea un nuevo archivo"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "encuentra las diferencias entre un archivo y el sistema de ficheros"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "añade ficheros al final de un archivo"
 
-#: src/tar.c:432
+#: src/tar.c:408
 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:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "añade ficheros tar a un archivo"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "borra del archivo (¡no en cintas magnéticas!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "comprueba la etiqueta de volumen del archivo y finaliza"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modificadores de operación:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "maneja ficheros dispersos de forma eficiente"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TIPO"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "técnica para detectar huecos"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "PRINCIPAL[.SECUNDARIO]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
+"establece la versión del formato disperso que se usará (implica --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "maneja el formato GNU antiguo de respaldo incremental"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "maneja el nuevo formato GNU de respaldo incremental"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "nivel de volcado para archivo creado con listado incremental"
 
 # ¿archivos nonzero? sv
 # Estupendo Gerardo, se me había pasado, como tantas cosas em+
@@ -1767,199 +1933,214 @@ msgstr ""
 # # encuentre ficheros ilegibles. (¡Uf! Ahora a ver cómo se pone esto en
 # # media línea.) gag
 #
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "no sale con estado distinto de cero cuando hay ficheros ilegibles"
 
-#: src/tar.c:459
-#, fuzzy
+#: src/tar.c:437
 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 ""
-"procesa únicamente la NUM-ésima aparición de cada fichero en el archivo. "
-"Esta opción solamente es válida junto con una de las subórdenes --delete, --"
+"procesa únicamente la NÚMERO-ésima aparición de cada fichero en el archivo; "
+"esta opción solamente es válida junto con una de las subórdenes --delete, --"
 "diff, --extract o --list y cuando se da una lista de ficheros en la línea de "
-"órdenes o con la opción -T. El valor predeterminado de NUM es 1."
+"ó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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "el archivo admite `seek'"
 
 # Mejor eso que inventarse un palabro, digo yo. sv
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "el archivo no admite `seek'"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 "no comprueba los números de dispositivo cuando se crean archivos "
 "incrementales"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "comprueba los números de dispositivo cuando se crean archivos incrementales "
 "(por omisión)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Control de sobreescritura:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "intenta verificar el archivo después de escribirlo"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "borra los ficheros después de añadirlos al archivo"
 
-#: src/tar.c:485
-#, fuzzy
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "no reemplaza ficheros que existan al extraer"
+msgstr "no reemplaza ficheros que existan al extraer, los trata como errores"
 
-#: src/tar.c:488
-#, fuzzy
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "no reemplaza ficheros que existan al extraer"
+msgstr ""
+"no reemplaza ficheros que existan al extraer, se los salta silenciosamente"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "sobreescribe los ficheros que existan al extraer"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "borra cada fichero antes de extraer sobre él"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "vacía jerarquías antes de extraer directorios"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "conserva los metadatos de los directorios que existan"
 
-#: src/tar.c:501
-#, fuzzy
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
-msgstr "sobreescribe los ficheros que existan al extraer"
+msgstr ""
+"sobreescribe los metadatos de los directorios que existan al extraer "
+"(predeterminado)"
 
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "sobreescribe los ficheros que existan al extraer"
+msgstr "conserva los enlaces simbólicos a directorios que existan al extraer"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
+"crea un subdirectorio para no tener ficheros sueltos al hacer la extracción"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Selección del flujo de salida:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "extrae los ficheros a la salida estándar"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "ORDEN"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "extrae los ficheros a otro programa"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "descarta los códigos de salida de los procesos hijos"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 "trata los estados de salida distintos de cero de los hijos como errores"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Manejo de los atributos del fichero:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "fuerza NOMBRE como propietario de los ficheros que se añaden"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "fuerza NOMBRE como grupo para los ficheros que se añaden"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+"utiliza FICHERO para asociar UIDs de propietarios y nombres de ficheros"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+"utiliza FICHERO para asociar GIDs de propietarios y nombres de ficheros"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "FECHA-O-FICHERO"
 
-#: src/tar.c:534
-#, fuzzy
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
-msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO"
+msgstr ""
+"establece la fecha de modificación para los ficheros que se añaden a partir "
+"de FECHA-O-FICHERO"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "CAMBIOS"
 
-#: src/tar.c:536
+#: src/tar.c:520
 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:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "MÉTODO"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 ""
+"conserva las horas de acceso en los ficheros volcados, bien restaurando las "
+"horas después de leer (MÉTOOD='replace'; predeterminado), bien no poniendo "
+"las horas en primer lugar (MÉTODO='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "no extrae la fecha de modificación del fichero"
 
-#: src/tar.c:545
-#, fuzzy
+#: src/tar.c:529
 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"
+msgstr ""
+"intenta extraer los ficheros con el mismo propietario que existe en el "
+"archivo (predeterminado para el superusuario)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 "extrae los ficheros como usted mismo (predeterminado para usuarios normales)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "utiliza siempre números para los nombres de usuarios/grupos"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "extrae la información de los permisos de los ficheros (por omisión para el "
 "superusuario)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1967,16 +2148,12 @@ msgstr ""
 "aplica el umask del usuario cuando se extraen permisos del archivo "
 "(predeterminado para usuarios normales)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr "se listan los miembros en el mismo orden que los ficheros del archivo"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "lo mismo que -p y -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1984,87 +2161,87 @@ msgstr ""
 "demora el establecimiento de las fechas de modificación y los permisos de "
 "los directorios que se extraen hasta el final de la extracción"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "cancela el efecto de la opción --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDEN"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "orden de ordenación del directorio: ninguno (predeterminado) o nombre"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Manejo de los atributos extendidos del fichero:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Activa el soporte de los atributos extendidos"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Desactiva el soporte de atributos extendidos"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MÁSCARA"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "especifica el patrón de inclusión para las claves xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "especifica el patrón de exclusión para las claves xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Activa el soporte de contextos SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Desactiva el soporte de contextos SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Activa el soporte de ACLs de POSIX"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Desactiva el soporte de ACLs de POSIX"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Selección de dispositivo y opciones:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIVO"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "utiliza un archivo o el dispositivo ARCHIVO"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "el archivo es local incluso si tiene dos puntos"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "utiliza la ORDEN rmt dada en vez de rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "utiliza la ORDEN remota en vez de rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "especifica la unidad y la densidad"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "crea/lista/extrae un archivo multivolumen"
 
@@ -2078,37 +2255,37 @@ 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:629
+#: src/tar.c:611
 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:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "ejecuta un script al final de cada cinta (implica -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "usa/actualiza el número de volumen en FICHERO"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Bloques en los dispositivos:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 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:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOQUES x 512 bytes por registro"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NÚMERO de bytes por registro, múltiplo de 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 "no tiene en cuenta los bloques convertidos en ceros dentro de un archivo "
@@ -2123,7 +2300,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:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "rehace los bloques conforme se lee (para tuberías de 4.2BSD)"
 
@@ -2132,263 +2309,151 @@ msgstr "rehace los bloques conforme se lee (para tuberías de 4.2BSD)"
 # 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:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Selección del formato de archivo:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "crea un archivo en el formato dado"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMATO es uno de los siguientes:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "formato tar V7 antiguo"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "formato GNU de tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "formato GNU tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "formato POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "formato POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "lo mismo que pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "lo mismo que --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "lo mismo que --format=posix"
 
-#: src/tar.c:676
-#, fuzzy
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr "palabra[[:]=valor][,palabra[[:]=valor], ...]"
+msgstr "palabra[[:]=valor][,palabra[[:]=valor]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "palabras clave de control de pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXTO"
 
-#: src/tar.c:679
-#, fuzzy
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
-"crea un archivo con nombre de volumen NOMBRE. En el momento de listar/"
-"extraer, utiliza TEXTO como patrón expandible"
+"crea un archivo con nombre de volumen TEXTO; en el momento de listar/"
+"extraer, utiliza TEXTO como patrón expandible para el nombre del volumen"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Opciones de compresión:"
 
-#: src/tar.c:686
-#, fuzzy
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
-msgstr "No se puede escribir al programa de compresión"
+msgstr ""
+"utiliza el sufijo del archivo para determinar el programa de compresión"
 
-#: src/tar.c:688
-#, fuzzy
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
-msgstr "No se puede escribir al programa de compresión"
+msgstr ""
+"no utiliza el sufijo del archivo para determinar el programa de compresión"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtra a través de PROG (debe aceptar -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Selección del fichero local:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-"añade el FICHERO dado al archivo (útil si su nombre comienza con un guion)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "cambia al directorio DIR"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "obtiene los nombres que se van a extraer o crear de FICHERO"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T lee nombres terminados en nulo, desactiva -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "desactiva el efecto de la opción --null anterior"
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-# Nota: La diferencia entre un PATRÓN y una EXPREG es que
-# el primero se refiere a un "globbing pattern", es decir, patrones
-# 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:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PATRÓN"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "excluye ficheros, dados como un PATRÓN"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "excluye los patrones listados en FICHERO"
-
-#: src/tar.c:728
-#, 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:731
-#, fuzzy
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "excluye los directorios que contienen una marca de caché"
-
-#: src/tar.c:734
-#, fuzzy
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "excluye los directorios que contienen una marca de caché"
-
-#: src/tar.c:736
-#, 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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-#, fuzzy
-msgid "exclude everything under directories containing FILE"
-msgstr "excluye los directorios que contienen una marca de caché"
-
-#: src/tar.c:747
-#, fuzzy
-msgid "exclude directories containing FILE"
-msgstr "excluye los directorios que contienen una marca de caché"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "excluye los directorios de sistemas de control de versiones"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "excluye los ficheros de respaldo y de bloqueo"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "evita descender automáticamente en los directorios"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "permanece en el sistema de ficheros locales al crear el archivo"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "opera recursivamente sobre los directorios (por omisión)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "no elimina las '/'s iniciales de los nombres de ficheros"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "sigue los enlaces simbólicos; archiva y vuelca los ficheros a los que apuntan"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "sigue los enlaces duros; archiva y vuelca los ficheros a los que se refieren"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "NOMBRE-DE-MIEMBRO"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "comienza por el miembro NOMBRE-DE-MIEMBRO dentro del archivo"
+msgstr "comienza por el miembro NOMBRE-DE-MIEMBRO al leer el archivo"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "FECHA"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "compara la fecha y hora solamente cuando cambian los datos"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "se hace un respaldo antes de borrar, escoja el CONTROL de versión"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "CADENA"
 
-#: src/tar.c:776
-#, fuzzy
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2397,145 +2462,103 @@ msgstr ""
 "que se\n"
 "cambie con la variable de entorno SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
-#, fuzzy
+#: src/tar.c:713
 msgid "File name transformations:"
-msgstr "Opciones de creación de ficheros:"
+msgstr "Transformaciones de los nombres de ficheros:"
 
-#: src/tar.c:783
-#, fuzzy
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
-msgstr "elimina NÚMERO componentes iniciales de los nombres de ficheros"
+msgstr ""
+"elimina NÚMERO componentes iniciales de los nombres de ficheros al extraer"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "EXPRESIÓN"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "utiliza la EXPRESIÓN de reemplazo sed para transformar los nombres de "
 "ficheros"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "no distingue mayúsculas de minúsculas"
-
-#: src/tar.c:797
-#, fuzzy
-msgid "patterns match file name start"
-msgstr ""
-"los patrones de exclusión encajan con el comienzo del nombre del fichero"
-
-#: src/tar.c:799
-#, fuzzy
-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:801
-#, fuzzy
-msgid "case sensitive matching (default)"
-msgstr "la exclusión distingue mayúsculas de minúsculas (por omisión)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "utiliza comodines (predeterminado para exclusión)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "los comodines de patrones de exclusión no encajan con `/'"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-"los comodines de los patrones de exclusión encajan con `/' (por omisión)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Salida informativa:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "lista los ficheros procesados detalladamente"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
-msgstr ""
+msgstr "PALABRACLAVE"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
-msgstr ""
+msgstr "control de advertencia"
 
-#: src/tar.c:821
-#, fuzzy
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
-msgstr "muestra mensajes de progreso cada 10 registros"
+msgstr ""
+"muestra mensajes de progreso cada NÚMERO-ésimo registro (por omisión 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ACCIÓN"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "ejecuta ACCIÓN en cada punto de comprobación"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "muestra un mensaje si no se vuelcan todos los enlaces"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SEÑAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 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 ""
+"muestra los bytes totales después de procesar el archivo; con un argumento - "
+"muestra los bytes totales cuando se entrega esta SEÑAL; señales permitidas: "
+"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 y SIGUSR2; también se aceptan los nombres "
+"sin el prefijo SIG"
 
-#: src/tar.c:834
-#, fuzzy
+#: src/tar.c:744
 msgid "print file modification times in UTC"
-msgstr "muestra las fechas de modificación de los ficheros en UTC"
+msgstr "muestra las fechas/horas de modificación de los ficheros en UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "muestra la fecha del fichero con la máxima resolución"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "envía la salida detallada a FICHERO"
 
-#: src/tar.c:840
+#: src/tar.c:750
 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:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "pide confirmación para cada acción"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "muestra los valores predeterminados de tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "muestra los rangos válidos para los campos de fichero de instantánea"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2543,31 +2566,35 @@ msgstr ""
 "cuando se lista o extrae, lista cada directorio que no coincida con el "
 "criterio de búsqueda"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
+"muestra los nombres de los ficheros o los archivos después de la "
+"transformación"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
-msgstr ""
+msgstr "ESTILO"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
+"establece el estilo de cita de los nombres; véanse más abajo los valores "
+"ESTILO válidos"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
-msgstr ""
+msgstr "también entrecomilla los caracteres de CADENA"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
-msgstr ""
+msgstr "no entrecomilla los caracteres de CADENA"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Opciones de compatibilidad:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2575,15 +2602,22 @@ msgstr ""
 "al crear, lo mismo que --old-archive; al extraer, lo mismo que --no-same-"
 "owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Otras opciones:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "desactivo el uso de algunas opciones potencialmente peligrosas"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "la opción '%s' no se puede usar con '%s'"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2591,40 +2625,40 @@ msgstr ""
 "No se puede especificar más de una opción `-Acdtrux', '--delete' o '--test-"
 "label'"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opciones de compresión en conflicto"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nombre de señal desconocido: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "No se encontró el fichero de fechas de muestra"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Sustituyendo %s por el formato de fecha desconocido %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Opción %s: Se trata la fecha '%s' como %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtra el archivo a través de %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Los argumentos válidos para la opción --quoting-style son:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2632,21 +2666,21 @@ msgstr ""
 "\n"
 "Las opciones predeterminadas de *esta* versión de tar son:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "ID de propietario o de grupo inválido"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Factor de bloqueo inválido"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Longitud de cinta inválida"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
-msgstr ""
+msgstr "Valor de nivel incremental inválido"
 
 # No sé cómo traducir threshold. fr
 # Yo tampoco (los diccionarios los tengo en casa...). sv
@@ -2654,100 +2688,105 @@ 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:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Se ha especificado más de una fecha tope"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
-msgstr ""
+msgstr "Valor de versión dispersa inválido"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr ""
+msgstr "--atime-preserve='system' no se admite en esta plataforma"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
-msgstr ""
+msgstr "El valor de --checkpoint no es un número entero"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Se ha especificado un modo no válido en la opción"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Número inválido"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"La opción --preserve está obsoleta, utilice --preserve-permissions --"
-"preserve-order en su lugar"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "El tamaño del registro es inválido"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Número inválido de elementos"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Solamente se permite una opción --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argumento de densidad mal formado: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densidad desconocida: '%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: localización del error"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "error al analizar %s"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FICHERO]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "la opción --%s no se puede usar con %s"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "argumentos que no son opciones en %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "no se puede dividir TAR_OPTIONS: %s"
+
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "La opción antigua '%c' requiere un argumento"
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence no tiene sentido sin una lista de ficheros"
 
 # requieren -> necesitan. gerardo
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Los archivos múltiples requieren la opción '-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level no tiene sentido sin --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2756,71 +2795,78 @@ msgstr[0] ""
 msgstr[1] ""
 "%s: La etiqueta de volumen es demasiado larga (el límite es %lu bytes)"
 
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "No se pueden verificar archivos multivolumen"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "No se pueden verificar archivos comprimidos"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "No se pueden utilizar archivos multivolumen comprimidos"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "No se pueden concatenar archivos comprimidos"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option solamente se puede usar en archivos POSIX"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls solamente se puede usar en archivos POSIX"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux solamente se puede usar en archivos POSIX"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs solamente se puede usar en archivos POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"No se puede deducir el nombre del directorio del nivel superior; indíquelo "
+"explícitamente con --one-top-level=DIR"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "La longitud del volumen no puede ser menor que el tamaño de registro"
 
 # Me gusta más al verrés: cobarde rechazo [de la pradera] a... gerardo
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Rechazo cobarde a crear un archivo vacío"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Las opciones '-Aru' son incompatibles con '-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Debe especificar una de las opciones `-Acdtrux', '--delete' o '--test-label'"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Se sale con estado de fallo debido a errores anteriores"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
+"orden de ordenación del directorio: ninguno (predeterminado), nombre o nodo-i"
 
 # Eso de ¡vaya tela! ¿es una interjección que se entiende en todo el mundo
 # hispanoparlante? No vaya a ser específico de Andalucía/Extremadura y...
@@ -2872,10 +2918,8 @@ msgid "Extended header length %*s is out of range"
 msgstr "La longitud de cabecera extendida %*s está fuera de rango"
 
 #: src/xheader.c:689
-#, fuzzy
 msgid "Malformed extended header: missing blank after length"
-msgstr ""
-"Cabecera extendida errónea: falta un espacio en blanco después de la longitud"
+msgstr "Cabecera extendida errónea: falta espacio después de la longitud"
 
 #: src/xheader.c:697
 msgid "Malformed extended header: missing equal sign"
@@ -2889,48 +2933,51 @@ msgstr "Cabecera extendida errónea: falta una nueva línea"
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
+"Se desestima la palabra clave de la cabecera extendida desconocida '%s'"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
+"El par palabra clave/valor generado es demasiado largo (palabra clave=%s, "
+"longitud=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
-#, fuzzy, c-format
+#: src/xheader.c:1053
+#, 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"
+msgstr "La cabecera extendida %s=%s está fuera del rango %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
-#, fuzzy, c-format
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
+#, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr "Cabecera extendida errónea: falta un signo igual"
+msgstr "Cabecera extendida errónea: %s=%s inválido"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
-#, fuzzy, c-format
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
+#, c-format
 msgid "Malformed extended header: excess %s=%s"
-msgstr "Cabecera extendida errónea: falta un signo igual"
+msgstr "Cabecera extendida errónea: sobra %s=%s"
 
-#: src/xheader.c:1502
-#, fuzzy, c-format
+#: src/xheader.c:1515
+#, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
-msgstr "Cabecera extendida errónea: falta un signo igual"
+msgstr "Cabecera extendida errónea: %s inválido: delimitador %c inesperado"
 
-#: src/xheader.c:1512
-#, fuzzy, c-format
+#: src/xheader.c:1525
+#, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
-msgstr "Cabecera extendida errónea: falta un signo igual"
+msgstr "Cabecera extendida errónea: %s inválido: número impar de valores"
 
 #: src/checkpoint.c:114
-#, fuzzy, c-format
+#, c-format
 msgid "%s: not a valid timeout"
-msgstr "%s: Grupo inválido"
+msgstr "%s: no es un tiempo de expiración válido"
 
 #: src/checkpoint.c:121
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: acción de punto de comprobación desconocida"
 
 #: src/checkpoint.c:202
 msgid "write"
@@ -2961,190 +3008,212 @@ msgstr "Punto de comprobación de lectura %u"
 # Acepto sugerencias para el `test suite'. sv
 # "test suite"="paquete/conjunto de pruebas/análisis", en cualquier
 # combinación. jmg
-#: tests/genfile.c:111
-#, fuzzy
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
-msgstr "Genera ficheros de datos para el conjunto de pruebas de GNU tar.\n"
+msgstr ""
+"genfile manipula ficheros de datos para la «suite» de pruebas GNU paxutils.\n"
+"OPCIONES:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Opciones de creación de ficheros:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "TAMAÑO"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Crea un fichero del TAMAÑO dado"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Escribe al fichero NOMBRE; en lugar de a la salida estándar"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Lee los nombres de los ficheros de FICHERO"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T lee nombres terminados en nulo"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Rellena el fichero con el PATRÓN dado, PATRÓN es 'default' o 'zeros'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
-msgstr ""
+msgstr "Tamaño de un bloque para un fichero disperso"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
+"Genera un fichero disperso. El resto de la línea de órdenes da el mapa del "
+"fichero."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
-msgstr ""
+msgstr "DESPLAZAMIENTO"
 
-#: tests/genfile.c:145
-#, fuzzy
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
-msgstr "intenta verificar el archivo después de escribirlo"
+msgstr "Busca en el desplazamiento indicado antes de escribir los datos"
 
-#: tests/genfile.c:151
-msgid "File statistics options:"
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:156
+msgid "File statistics options:"
+msgstr "Opciones de estadísticas de ficheros:"
+
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
+"Imprime los contenidos de la estructura de estadísticas para cada fichero "
+"indicado. FORMATO predeterminado: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
-msgstr ""
+msgstr "Opciones de ejecución síncrona:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPCIÓN"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
+"Ejecuta ARGS. Es útil con --checkpoint y una de entre --cut, --append, --"
+"touch y --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
+"Realiza la acción indicada (véase más abajo) al llegar al punto de "
+"comprobación NÚMERO"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Establece la fecha para la siguiente opción --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
+"Muestra los puntos de comprobación ejecutados y el estado de la salida de "
+"ORDEN"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
+"Acciones de ejecución síncrona. Se ejecutan cuando se llega al punto de "
+"comprobación indicado por la opción --checkpoint"
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
+"Trunca FICHERO al tamaño especificado previamente en una opción --length (o "
+"0, si no se ha indicado esta)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
+"Añade TAMAÑO btyes a FICHERO. TAMAÑO es el indicado previamente en una "
+"opción --length"
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Actualiza las fechas de acceso y modificación de FICHERO"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Ejecuta ORDEN"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Desenlaza FICHERO"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Tamaño inválido: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Número fuera del rango permitido: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Tamaño negativo: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) ha fallado"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
-msgstr ""
+msgstr "longitud de fichero solicitada %lu, efectiva %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
-msgstr ""
+msgstr "el fichero creado no es disperso"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
-msgstr ""
+msgstr "Error al analizar número cerca de `%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Formato de fecha desconocido"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENTOS...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "No se puede abrir `%s'"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "no se puede efectuar `seek'"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "el nombre del fichero contiene el carácter nulo"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
+"no se pueden generar ficheros dispersos en la salida estándar; utilice la "
+"opción --file"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr ""
+msgstr "máscara incorrecta (cerca de `%s')"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Campo desconocido `%s'"
@@ -3155,61 +3224,71 @@ msgstr "Campo desconocido `%s'"
 # 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:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "no se puede establecer la fecha sobre `%s'"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "no se puede truncar `%s'"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "la orden falló: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "no se puede desenlazar `%s'"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "La orden terminó con éxito\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "La orden falló con el estado %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "La orden terminó con la señal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "La orden se detuvo con la señal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "La orden volcó un core\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "La orden terminó\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat necesita nombres de ficheros"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "lo mismo que -p y -s"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "La opción --preserve está obsoleta, utilice --preserve-permissions --"
+#~ "preserve-order en su lugar"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "no se puede usar --occurrence con %s"
 
index ea90cb3402848cbba978cc8d78a784cbf4be3953..83feff5a6c957bf762ed84439970a020a70f58f8 100644 (file)
Binary files a/po/et.gmo and b/po/et.gmo differ
index a8c997036597cfb90da4cfa2846c71ee1fbdf26f..0c2ac10fff96edf7b6f84d24f7cf779b53b7e47a 100644 (file)
--- 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 <tsoome@me.com>, 2013.
+# Toomas Soome <tsoome@me.com>, 2016.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.27\n"
+"Project-Id-Version: GNU tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-07 02:17+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-15 13:07+0200\n"
 "Last-Translator: Toomas Soome <tsoome@me.com>\n"
 "Language-Team: Estonian <linux-ee@lists.eenet.ee>\n"
 "Language: et\n"
@@ -18,46 +18,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "vigane argument %s (`%s')"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "segane argument %s (`%s')"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Lubatud argumendid on:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT parameeter peab olema positiivne"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Tundmatu ARGP_HELP_FMT parameeter"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Prügi ARGP_HELP_FMT parameetrites: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -65,143 +65,148 @@ msgstr ""
 "Kohustuslikud või mittekohustuslikud argumendid pikkadele võtmetele on ka "
 "kohustuslikud või mittekohustuslikud vastavatele lühikestele võtmetele."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Kasutamine:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr " või: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [VÕTI...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Lisainfo saamiseks kasutage '%s --help' või '%s --usage'.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Teated vigadest saatke palun aadressil %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Tundmatu süsteemi viga"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "näita seda abiinfot"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "näita lühikest kasutamise õpetust"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NIMI"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "sea programmi nimi"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "oota SEK sekundeid (vaikimisi 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "esita programmi versioon"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAMMI VIGA) Versioon pole teada!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Liiga palju argumente\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMMI VIGA) Võti peaks olema ära tuntud!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "viga kirjutamisel"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: võti '%s' on segane; valikud:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: võti '%s' on segane\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: võtmel '--%s' pole argumente\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: võti '--%s' nõuab argumenti\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: tundmatu võti '--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: tundmatu võti '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: vigane võti -- '%c'\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: võti nõuab argumenti -- '%c'\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: võti '-W %s' on segane\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: võti '-W %s' nõuab argumenti\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "mälu on otsas"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "ei õnnestu salvestada jooksvat töökataloogi"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "algsesse töökataloogi ei õnnestu tagasi minna"
@@ -227,11 +232,11 @@ msgstr "algsesse töökataloogi ei õnnestu tagasi minna"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -241,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[jJ]"
 
@@ -251,16 +256,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[eE]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketi looja %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketi looja %s\n"
@@ -268,11 +273,11 @@ msgstr "Paketi looja %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -289,19 +294,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Kirjutanud %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Kirjutanud %s ja %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Kirjutanud %s, %s ja %s.\n"
@@ -309,7 +314,7 @@ msgstr "Kirjutanud %s, %s ja %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -321,7 +326,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -333,7 +338,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +350,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -357,7 +362,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -371,7 +376,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -385,7 +390,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -400,7 +405,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -409,22 +414,22 @@ msgstr ""
 "\n"
 "Teated vigadest saatke palun aadressil: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Teated %s vigadest saatke palun aadressil: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s koduleht: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s koduleht: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Üldine abiinfo GNU tarkvara kasutamisest: <http://www.gnu.org/gethelp/>\n"
@@ -590,8 +595,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "N"
 
@@ -599,10 +604,11 @@ msgstr "N"
 msgid "set debug level"
 msgstr "määra silumise tase"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FAIL"
 
@@ -615,7 +621,7 @@ msgstr "sea silumisteadete faili nimi"
 msgid "cannot open %s"
 msgstr "%s ei saa avada"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "liiga palju argumente"
@@ -624,113 +630,112 @@ msgstr "liiga palju argumente"
 msgid "Garbage command"
 msgstr "Rämpskäsk"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Hmm.... see ei tundu olema tar arhiiv"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Baite loetud kokku"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Baite kirjutatud kokku"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Baite kirjutatud kokku: %s\n"
+msgstr "Kustutatud baite kokku"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(toru)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Ei loe arhiivi sisu terminalist (puudub -f võti?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Ei kirjuta arhiivi sisu terminali (puudub -f võti?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Kirje suuruse väärtus on vigane"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Arhiivi nime pole"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ei saa kontrollida sisend/väljund arhiive"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiiv on tihendatud. Kasutage võtit %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Ei saa uuendada pakitud arhiive"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Lindi alguses, lõpetan töö"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Liig palju vigu, jätan töö pooleli"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ei peatunud kirje piiril"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: sisaldab vigast volüümi numbrit"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Volüümi number on liiga suur"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "EOF kasutaja vastuse asemel"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "HOIATUS: Arhiiv pole täielik"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -741,65 +746,65 @@ msgstr ""
 " q             Katkesta tar\n"
 " y või reavahetus Jätka\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Loo alamshell\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Väljasta see info\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Pole uus volüüm; lõpetan töö.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Puudub faili nimi. Proovige uuesti.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Vigane sisend. ? annab abiinfot.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "%s käsklus sai vea"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ei jätku sellel volüümil"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s on vale suurusega (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiivi märgend ei sobi %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volüüm %s ei sobi volüümiga %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -807,7 +812,7 @@ msgstr ""
 "%s: faili nimi on GNU mitmevolüümi päisesse salvestamiseks liiga pikk, "
 "lühendan"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "kirjutamine ei peatunud bloki piiril"
 
@@ -818,20 +823,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Sisu on erinev"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Ootamatu arhiivi lõpp"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Failitüübid on erinevad"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Moodid erinevad"
 
@@ -847,7 +852,7 @@ msgstr "GID on erinevad"
 msgid "Mod time differs"
 msgstr "Muutmise ajad erinevad"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Suurused erinevad"
 
@@ -856,138 +861,138 @@ msgstr "Suurused erinevad"
 msgid "Not linked to %s"
 msgstr "ei viita %s-le"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Nimeviited erinevad"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Seadme numbrid on erinevad"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Kontroll "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arhiiv sisaldab eemaldatud prefiksitega failinimesid."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Arhiiv sisaldab teisendatud faili nimesid."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Kontrollimine ei pruugi leida algseid faile."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Üksik null blokk kohal %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: sisaldab vahemälu kataloogi lipikut %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Genereerin negatiivsed kaheksand päised"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: viite nimi on liiga pikk; ei salvesta"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fail on teises failisüsteemis; ei salvesta"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "sisu ei salestata"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tundmatu failitüüp; ignoreerin seda faili"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "%s-le puudub viiteid."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: pole muutunud; ei salvesta"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s on arhiiv; ei salvesta"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "kataloogi ei salvestatud"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fail muutus lugemisel"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: ignoreerin pesa"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: ignoreerin ust"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Hüppan järgmise päiseni"
 
@@ -1005,54 +1010,54 @@ msgstr "%s: ebatõenäoliselt vana ajatempel %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: ajatempel %s on %s sekundit tulevikus"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Ootamatu kooskõlalisuse probleem kataloogi loomisel"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: jätan olemasoleva faili vahele"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Taastan jätkuvad failid kui tavalised"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Üritan taastada nimeviiteid viidetena"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Ootamatu pika nime päis"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Tundmatu failitüüp '%c', taastan tavalise failina"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Olemasolev %s on uuem või sama kuupäevaga"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Selle faili varundamine ebaõnnestus"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s ei õnnestu ümber nimetada %s-ks"
@@ -1102,16 +1107,16 @@ msgstr "Vigane i-kirje number"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: bait %s: %s %.*s... on liiga pikk"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Ootamatu snapshoti faili lõpp"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: baidile %s: %s %s järgneb vigane bait 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1120,200 +1125,200 @@ msgstr ""
 "%s: bait %s: (lubatud vahemik %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: bait %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: bait %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Puudub kirje lõpetaja"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Inkrementaalse faili vorming on vigane"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Mittetoetatud inkrementaalse vormingu versioon: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Vigane taastamise kataloog: eeldasin '%c', sain %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Vigane taastamise kataloog: dubleeritud 'X'"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Vigane taastamise kataloog: tühi nimi 'R' väljal"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Vigane taastamise kataloog: 'R' ei ole 'T' ees"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Vigane taastamise kataloog: tühi nimi 'T' väljal"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Vigane taastamise kataloog: 'X' ei kasutata"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Vormiga %s ei saa ajutist kataloogi luua"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Ei puhasta kataloogi: stat ebaõnnestus"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: kataloog on teisel seadmel; ei puhasta"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Kustutan %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ei saa eemaldada"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Jätan vahele"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blokk %s: ** NULlide blokk **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blokk %s: ** Faili lõpp **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blokk %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiiv sisaldab aegunuid base-64 päiseid"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " viide %s-le\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tundmatu failitüüp %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Pikk viide--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Pikk nimi--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volüümi päis--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Jätkub baidilt %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Loon kataloogi:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Annan %s uueks nimeks %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: ei õnnestu ümber nimetada %s-ks"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Nimetan `%s' tagasi `%s'\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fail kustutati enne lugemist"
@@ -1326,30 +1331,184 @@ msgstr "alamprotsess"
 msgid "interprocess channel"
 msgstr "protsessidevaheline kanal"
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Lokaalse faili nime valik:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "KAT"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "mine kataloogi KAT"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "loe taastatavate või varundatavate failide nimed failist NIMI"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T loeb nullidega lõpetatud nimesid; eeldab --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "blokeeri eelmise --null võtme mõju"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"eemalda sisendfaili või liikmete nimedest kvootimissümbolid (vaikimisi)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "ära eemalda nimedest kvootimissümboleid"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T loeb faili nimesid otse (ei käsitle võtmeid)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr "-T käsitleb kriipsuga algavaid failide nimesid võtmetena (vaikimisi)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MUSTER"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "MUSTRI järgi välistatud failid"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "välistavad mustrid on FAILIS"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"välista kataloogide, mis sisaldavad CACHEDIR.TAG, sisu, välja arvatud "
+"märgendi fail ise"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "välista kõik kataloogis, mis sisaldab CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "välista kataloogid, mis sisaldavad CACHEDIR.TAG"
+
+#: src/names.c:103
+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/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "loe kataloogide välistamise mustrid failist, kui see on olemas"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"loe kataloogide ja alamkataloogide välistamise mustrid failist, kui see on "
+"olemas"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "välista kataloogid, mis sisaldavad faili FAIL"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "välista kataloogid, mis sisaldavad faili FAIL"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "välista versiooni kontrolli süsteemi kataloogid"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "loe välistamise mustrid VCS ignoreerimise failidest"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "välista varukoopiad ja lukufailid"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "sisene kataloogidesse (vaikimisi)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "ära sisene kataloogidesse"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr "Failinimede otsimine (mõjutab nii kaasamist, kui välistamist):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "mustrid alustavad faili nime algusest"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "mustrid toimivad iga '/' järel (välistamise korral vaikimisi)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "tõstutundetu"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "tõstutundlik otsimine (vaikimisi)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "kasuta jokkersümboleid (välistamise korral vaikimisi)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "täht-täheline sõne otsimine"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "jokkersümbolid leiavad '/' (välistamise korral vaikimisi)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "jokkerid ei leia '/'"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "käsurida"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: %s loetud failide nimekiri on juba loetud failist %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "sõne '%s' ei saa tükeldada: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: loetud faili nimi sisaldab sümbolit nul"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Failide nimedes on jokkersümbolid"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1357,52 +1516,52 @@ msgstr ""
 "Jokkerite lubamiseks kasutage --wildcars või --no-wildcards selle teate "
 "blokeerimiseks"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Puudub arhiivis"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Nõutud eksemplar puudub arhiivis"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arhiivi märgend ei sobi"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Võti --listed-incremental lubab ainult ühte -C kasutamist"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Mõlemad võtmed, '-%s' ja '-%s' eeldavad standard sisendit"
+msgstr "Mõlemad võtmed, '%s' ja '%s', eeldavad standard sisendit"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Vigane arhiivi vorming"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Arhiivi formaat ei toeta GNU laiendusi"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "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:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1420,7 +1579,7 @@ 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:387
+#: src/tar.c:363
 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 "
@@ -1440,79 +1599,87 @@ msgstr ""
 "  nil, existing   nummerdatud kui koopiad on nummerdatud, muidu lihtne\n"
 "  never, simple   tee ainult lihtne koopia\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Põhiline töö:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "näita arhiivi sisukorda"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "taasta failid arhiivist"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "loo uus arhiiv"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "otsi arhiivi ja failisüsteemi erinevusi"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "lisa failid arhiivi lõppu"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "lisa arhiivi ainult failid uuemad kui arhiivis"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "lisa tar failid arhiivi"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "kustuta arhiivist (mitte magnetlindilt!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "testi arhiivi volüümi märgendit ja lõpeta töö"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Töö täpsustamine:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "tööta aukudega failidega efektiivsemalt"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TÜÜP"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "aukude tuvastamise tehnika"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "PÕHI[.ALAM]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "käsitle vana GNU vormingus inkrementaalset koopiat"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "käsitle uue GNU vormingu inkrementaalset koopiat"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "loodud listed-incremental arhiivi dump tase"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "ära lõpeta loetamatute failide korral veakoodiga"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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,137 +1692,146 @@ msgstr ""
 "antud\n"
 "käsureal või võtmega -T. Vaikimisi N on 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "arhiiv on positsioneeritav"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "arhiiv ei ole positsioneeritav"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "inkrementaalsete arhiivide loomisel ära kontrolli seadmete numbreid"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "inkrementaalsete arhiivide loomisel kontrolli seadmete numbreid (vaikimisi)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Ülekirjutamise juhtimine:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "kontrolli arhiivi peale arhiivi kirjutamist"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "kustuta failid peale arhiveerimist"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "olemasolevaid faile taastamisel üle ei kirjuta, anna vigu"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "olemasolevaid faile taastamisel üle ei kirjuta, jäta need vaikselt vahele"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "kirjuta olemasolevad failid üle"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "kustuta fail enne taastamist"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "kustuta hierarhia enne kataloogi taastamist"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "säilita olemasolevate kataloogide metainfo"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "taastamisel kirjuta olemasolevate kataloogide metainfo üle (vaikimisi)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "taastamisel säilita olemasolevad nimeviited kataloogidele"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "KAT"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "segaduste vältimiseks taastamisel, loo alamkataloog"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Vali väljundvoog:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "taasta failid standardväljundisse"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "KÄSK"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "taasta failid läbi toru teise programmi"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "ignoreeri alamprotsesside lõpetamise koode"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "käsitle alamprotsesside nullist erinevaid lõpetamise koode veana"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Faili atribuutide käsitlemine:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "kasuta NIMEe kui lisatud failide omanikku"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "kasuta NIMEe kui lisatud failide gruppi"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "kasuta FAILi omaniku UID ja nime seadmisel"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "kasuta FAILi omaniku GID ja nime seadmisel"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "KUUP-VÕI-FAIL"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "sea lisatud failide muutmise ajaks KUUP-VÕI-FAIL"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "MUUTUSED"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "kasuta lisatud failidel sümbol moodi MUUTUSED"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "MEETOD"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1665,11 +1841,11 @@ msgstr ""
 "lugemist (METHOD='replace'; vaikimisi) või ei muuda kasutamise aega üldse "
 "(METHOD='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "ära taasta faili muutmise aega"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1677,19 +1853,19 @@ msgstr ""
 "ürita failide taastamisel säilitada failide omanikud arhiivis (root "
 "kasutajal vaikimisi)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "taasta failid enda õigustes (tavakasutajatel vaikimisi)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "kasuta kasutaja/grupp numbreid"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "taasta ka info failide õigustest (vaikimisi superkasutaja korral)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1697,202 +1873,198 @@ msgstr ""
 "õiguste taastamisel kasuta kasutaja umask väärtust (vaikimisi "
 "tavakasutajatel)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr "liikmete argumendid näidatakse samas järjekorras nagu failid arhiivis"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "sama, kui -p ja -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 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:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "katkesta --delay-directory-restore võtme mõju"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "REEGEL"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "kataloogi sortimise reegel: none (vaikimisi) või name"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Faili laiendatud atribuutide käsitlemine:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Luba laiendatud atribuutide tugi"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Keela laiendatud atribuutide tugi"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASK"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "määrake xattr lubatud võtmete muster"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "määrake xattr välistatud võtmete muster"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Luba SELinux konteksti tugi"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Keela SELinux konteksti tugi"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Luba POSIX ACL tugi"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Keela POSIX ACL tugi"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Seadme valik ja vahetamine:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARHIIV"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "kasuta arhiivi faili või seadet ARHIIV"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "arhiivi fail on lokaalne isegi kui sisaldab koolonit"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "kasuta rmt asemel antud käsku"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "kasuta rsh asemel antud käsku"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "määra seade ja tihedus"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "loo/näita/taasta mitme volüümilisi arhiive"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "vaheta peale NUMBER x 1024 baidi kirjutamist linti"
 
-#: src/tar.c:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "kasuta/uuenda volüümi numbrit failis FAIL"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Seadme blokkimine:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKKE"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKKE x 512 baiti kirjele"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NUMBER baiti kirjele, 512 kordne"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignoreeri null blokke arhiivis (tähistab EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "bloki lugemisel uuesti (4.2BSD torude jaoks)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Arhiivi vormingu valikud:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "VORMING"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "loo arhiiv antud vormingus"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "VORMING on üks järgnevaist:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "vana V7 tar vorming"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU vorming tar <= 1.12 korral"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x vorming"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) vorming"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) vorming"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "sama, kui pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "sama, kui --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "sama, kui --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "võtmesõna[[:]=väärtus][,võtmesõna[[:]=väärtus]...]"
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "pax võtmesõnade kasutamine"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEKST"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1900,180 +2072,79 @@ msgstr ""
 "loo arhiivi volüümi nimega NIMI. Listingu/taastamise ajal kasuta TEKSTi "
 "otsingumustrina"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Tihendamise võtmed:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "tihendamisprogrammi tuvastamiseks kasuta arhiivi sufiksit"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "tihendamisprogrammi tuvastamiseks ära kasuta arhiivi sufiksit"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtreeri läbi programmi (peab lubama võtit -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Lokaalse faili valik:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "mine kataloogi KAT"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "loe taastatavate või varundatavate failide nimed failist NIMI"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T loeb nullidega lõpetatud nimesid, blokeeri -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "blokeeri eelmise --null võtme mõju"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "eemalda -T võtmega loetud failinimedest kvootimissümbolid (vaikimisi)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "ära eemalda -T võtmega loetud failinimedest kvootimissümboleid"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "MUSTER"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "MUSTRI järgi välistatud failid"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "välistavad mustrid on FAILIS"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"välista kataloogide, mis sisaldavad CACHEDIR.TAG, sisu, välja arvatud "
-"märgendi fail ise"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "välista kõik kataloogis, mis sisaldab CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "välista kataloogid, mis sisaldavad CACHEDIR.TAG"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "välista kataloogid, mis sisaldavad faili FAIL"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "välista kataloogid, mis sisaldavad faili FAIL"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "välista versiooni kontrolli süsteemi kataloogid"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "välista varukoopiad ja lukufailid"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "ära sisene kataloogidesse"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "püsi arhiivi loomise ajal kohalikus failisüsteemis"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "sisene kataloogidesse (vaikimisi)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "ära eemalda faili nimedelt prefiksit '/'"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "järgi nimeviiteid; arhiveeri ja taasta viidatavad failid"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "järgi viiteid; arhiveeri ja taasta viidatavad failid"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "KOMPONENT"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "alusta arhiivi lugemisel liikmest KOMPONENT"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "salvesta ainult failid mis on uuemad kui KUUP-VÕI-FAIL"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "KUUPÄEV"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "võrdle kuupäevi ainult kui andmed on muutunud"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "KONTROLL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "loo enne eemaldamist varukoopia, vali versioonikontroll"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "SÕNE"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2081,95 +2152,59 @@ msgstr ""
 "varunda enne kustutamist, kasuta uut lõppu (vaikimisi '~', kui pole üle "
 "määratud keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Failide nimede muutmine:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "eemalda taastamisel failide nimede algusest NUMBER komponenti"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "AVALDIS"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "kasuta failide nimede muutmiseks sed asendus avaldist"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr "Failinimede otsimine (mõjutab nii kaasamist, kui välistamist):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "tõstutundetu"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "mustrid alustavad faili nime algusest"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "mustrid toimivad iga '/' järel (välistamise korral vaikimisi)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "tõstutundlik otsimine (vaikimisi)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "kasuta jokkersümboleid (välistamise korral vaikimisi)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "täht-täheline sõne otsimine"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "jokkerid ei leia '/'"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "jokkersümbolid leiavad '/' (välistamise korral vaikimisi)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informatsioon:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "väljasta töödeldavate failide kohta infot"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "VÕTMESÕNA"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "hoiatuste juhtimine"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "anna töö kohta infot iga NUMBER kirje järel (vaikimisi 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "TEGEVUS"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "käivita tegevus igas kontrollpunktis"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "väljasta teade, kui kõike viiteid pole salvestatud"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2180,35 +2215,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:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "väljasta failide muutmise ajad UTC esituses"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "väljasta faili aeg täielikult"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "salvesta täiendav info FAILi"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "näita iga teatega ka arhiivi bloki numbrit"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "küsi iga tegevuse kohta kinnitust"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "näita tar vaikeseadeid"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "näita snapshot-faili väljade lubatud vahemikud"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2216,85 +2251,92 @@ msgstr ""
 "listingu või taastamise ajal, näita igat kataloogi mis ei vasta "
 "otsingutingimustele"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "peale teisendamist näita faili või arhiivi nime"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STIIL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "lisaks kvoodi sõnes näidatud sümbolid"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "keela sõnes toodud sümbolite kvootimine"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Ühilduvuse võtmed:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 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:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Muud võtmed:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "blokeeri potentsiaalselt ohtlikud võtmed"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "võtit '%s' ei saa võtmega '%s' kasutada"
+
+#: src/tar.c:934
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konfliktsed pakkimisvõtmed"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Tundmatu signaali nimi: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Kuupäeva fail puudub"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Kasutan %s tundmatu ajaformaadi %s asemel"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Võti %s: Käsitlen aega '%s' kui %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtreeri arhiiv läbi %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Võtmega --quoting-style on lubatud järgnevad argumendid:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2302,184 +2344,194 @@ msgstr ""
 "\n"
 "*See* tar kasutab vaikimisi:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Vigane omanik või grupi ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Vigane blokkimisfaktor"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Vigane lindi pikkus"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Inkrementaalse varunduse taseme väärtus on vigane"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Rohkem kui üks etteantud aeg"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Vigane aukudega faili versiooni väärtus"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ei ole sellel platvormil toetatud"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint väärtus ei ole täisarv"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Võtmega anti vigane mood"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Vigane number"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Võti --preserve on mittesoovitatav, kasutage --preserve-permissions --"
-"preserve-order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Vigane kirje suurus"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Kirje suurus peab olema %d kordne."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Vigane elementide arv"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Lubatud on ainult üks --to-command võti"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Vigane tiheduse argument: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Tundmatu tihedus: '%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: vea asukoht"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "viga %s parsimisel"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FAIL]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "võtit --%s ei saa võtmega %s kasutada"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "%s sisaldab vigast argumenti"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "TAR_OPTIONS ei saa tükeldada: %s"
+
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Vana võti '%c' nõuab argumenti."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence ei oma failide nimekirjata mõtet"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Mitme arhiivifaili kasutamine nõuab võtit '-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level ei oma võtmeta --listed-incremental mõtet"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Ei suuda kontrollida mitme volüümilisi arhiive"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Ei saa kontrollida pakitud arhiive"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ei saa kasutada mitme volüümilisi pakitud arhiive"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Tihendatud arhiive ei saa ühendada"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Ülemise kataloogi nime ei saa tuletada; palun kasutage --one-top-level=KAT"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Volüümi suurus ei saa olla väiksem kirje suurusest"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Ega ikka ei tee küll tühja arhiivi"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Võtmeid '-Aru' ei saa kasutada võtmega '-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Peab kasutama üht võtmetest '-Acdtrux', '--delete'  või '--test-label'"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Kuna eelnevalt oli vigu, siis lõpetan veakoodiga"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "kataloogi sortimise reegel: none (vaikimisi), name või inode"
 
 #: src/update.c:87
 #, c-format
@@ -2533,34 +2585,34 @@ msgstr "Vigane laiendatud päis: puudub reavahetus"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignoreerin tundmatut laiendatud päise võtmesõna '%s'"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Vigane laiendatud päis: %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Vigane laiendatud päis: liigne %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Vigane laiendatud päis: vigane %s: ootamatu eraldaja %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Vigane laiendatud päis: vigane %s: veider arv väärtuseid"
@@ -2601,7 +2653,7 @@ msgstr "Kirjutamise kontrollpunkt %u"
 msgid "Read checkpoint %u"
 msgstr "Lugemise kontrollpunkt %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2609,67 +2661,71 @@ msgstr ""
 "genfile manipuleerib GNU paxutils testipaketi andmefailidega.\n"
 "VÕTMED on:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Faili loomise võtmed:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "SUURUS"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Loo määratud suurusega fail"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Kirjuta standardväljundi asemel faili NIMI"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Loe failide nimed failist FAIL"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T loeb nullidega lõpetatud nimesid"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Täida fail antud mustriga. Muster on 'default' või 'zeros'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Bloki suurus aukudega faili korral"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Loo aukudega fail. Järgnev käsurida kirjeldab faili."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "INDEKS"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Enne kirjutamist liigu antud indeksile"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Statistika faili kohta:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "Väljasta iga faili kohta stat struktuuri sisu. Vaikimisi VORMING on: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Sünkroonse täitmise võtmed:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "VÕTI"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2677,19 +2733,19 @@ msgstr ""
 "Täida antud KÄSKLUS. Kasulik võtmetega --checkpoint ja --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Jõudes kontrollpunkti NUMBER, täida antud tegevus (vt. allpool)"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Määra järgmise --touch võtme ajatempel"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Esita täidetud kontrollpunktid ja käsu lõpetamise olek"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2697,166 +2753,164 @@ msgstr ""
 "Sünkroonse täitmise tegevused. Neid täidetakse, kui saabub --checkpoint "
 "võtmega määratud kontrollpunkt."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 "Sea faili suuruseks --length võtmega näidatu (või 0, kui suurust ei antud)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "Lisa faili lõppu --length parameetriga näidatud arv baite."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Uuenda faili kasutamise ja muutmise ajatempleid"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Käivita KÄSK"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Kustuta FAIL"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Vigane suurus: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Number on piiridest väljas: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatiivne suurus: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) ebaõnnestus"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "küsitud faili pikkus %lu, tegelik %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "loodud fail pole aukudega"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Viga `%s' juures numbri parsimisel"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Tundmatu kuupäeva vorming"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENDID...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' ei saa avada"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "seek ebaõnnestus"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "faili nimi sisaldab null sümbolit"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "vigane mask (`%s' lähedal)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Tundmatu väli `%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ei õnnestu seada `%s' aega"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "'%s' ei saa lühendada"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "käsklus sai vea: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' ei saa kustutada"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Käsk lõpetas töö edukalt\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Käsk lõpetas veakoodiga %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Käsk katkestati signaaliga %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Käsk peatati signaaliga %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Käsk salvestas mälupildi\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Käsk katkestas\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat nõuab failinimesid"
 
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence ei saa %s korral kasutada"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "--listed-incremental ja --newer ei saa koos kasutada"
-
-#~ msgid "--verify cannot be used with %s"
-#~ msgstr "--verify ei saa %s korral kasutada"
+#~ msgid "same as both -p and -s"
+#~ msgstr "sama, kui -p ja -s"
 
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order ei ole ühilduv võtmega --listed-incremental"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Võti --preserve on mittesoovitatav, kasutage --preserve-permissions --"
+#~ "preserve-order"
index 7b8e1c0cee9b4ed54f138bfb409a216ea5a80dfa..5de7f7e2692981dd97b972d64792abd4d76e87e6 100644 (file)
Binary files a/po/eu.gmo and b/po/eu.gmo differ
index a7e2e9086c383806f7475ad5df352be3857d59e1..dd9e6a57d5bd9f6fdf3dbaa899dc5eb6ebd3365b 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -5,12 +5,12 @@
 # This file is distributed under the same license as the tar package.
 #
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar-1.15.91-eu\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2006-12-13 19:52+0100\n"
 "Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -20,46 +20,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "%s argumentu baliogabea %s-rentzat"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "%s argumentu anbiguoa %s-rentzat"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Argumentu erabilgarriak:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: ARGP_HELP_FMT parametro ezezaguna"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Zaborra ARGP_HELP_FMT-en: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -67,143 +67,148 @@ msgstr ""
 "Aukera luzeentzat beharrezko edo aukerako argumentuak modu berdinean "
 "beharrezko edo aukerakoak izango dira aukera luzeentzat ere."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Erabilera:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  edo: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [AUKERA...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Arazoen berri %s-en eman.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Sistema errore ezezaguna"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "laguntza zerrenda hau eman"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "erabilera mezu labur bat eman"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "IZENA"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "programa izen ezarri"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEG"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "SEG segundu gelditu (lehenetsia 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "programa bertsioa bistarazi"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAMA ERROREA) Ez da bertsioa ezagutzen!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Argumentu gehiegi\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMA ERROREA) Aukera ezaguna izan beharko zen!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: `%s' aukera anbiguoa da\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: `-W %s' aukera anbiguoa da\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: `%s' aukerak argumentu bat behar du\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: `--%s' aukera ezezaguna\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: `%c%s' aukera ezezaguna\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: -- %c ekintza baliogabea\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: aukerak -- %c argumentu bat behar du.\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, fuzzy, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: `-W %s' aukera anbiguoa da\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: `%s' aukerak argumentu bat behar du\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memoria askieza"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Ezin da lan direktorioa aldatu"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Ezin da lan direktorioa gorde"
@@ -229,11 +234,11 @@ msgstr "Ezin da lan direktorioa gorde"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -243,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[bB]"
 
@@ -253,16 +258,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[eE]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -270,11 +275,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -285,19 +290,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -305,7 +310,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -315,7 +320,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -325,7 +330,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +350,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -356,7 +361,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -367,7 +372,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -379,29 +384,29 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr "Arazoen berri %s-en eman.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Arazoen berri %s-en eman.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -573,8 +578,8 @@ msgstr "Fitxategi Amaiera Esperogabea"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "ZENBAKIA"
 
@@ -582,10 +587,11 @@ msgstr "ZENBAKIA"
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FITXATEGIA"
 
@@ -598,7 +604,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "Ezin da `%s' ireki"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "argumentu gehiegi"
@@ -607,111 +613,111 @@ msgstr "argumentu gehiegi"
 msgid "Garbage command"
 msgstr "Zabor komandoa"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Honek ez dirudi tar pakete bat"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Irakurritako byte-ak guztira"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Idatziriko byte-ak guztira"
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Ezabaturiko byte-ak guztira: %s\n"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(tutua)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "balio baliogabea record_size-rentzat"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Ez da fitxategi izenik eman"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ezin da sarrera/irteera estandar fitxategia egiaztatu"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Fitxategia konprimiturik dago. %s aukera erabili"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Ezin dira konprimituriko fitxategiak eguneratu"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Zintaren hasieran, uzten"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Errore gehiegi, uzten"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: bolumen zenbaki baliogabea du"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Bolumen zenbaki gainezkatzea"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "#%d bolumena %s -rako prestatu eta enter sakatu: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Fitxategi amaiera erabiltzaile erantzuna espero zenean"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "Oharra: Paketea ez dago osaturik"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -722,72 +728,72 @@ msgstr ""
 " q             tar utzi\n"
 " y edo intro  Ekintza jarraitu\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Azpishell bat sortu\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Zerrenda hau inprimatu\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Ez dago bolumen berririk; uzten.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Ez da fitxategi izenik ezarri. Berriz saiatu.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "SArrera baliogabea. ? idatzi laguntzarako.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "%s komandoak huts egin du"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ez da bolumen honen jarraipena"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s okerreko tamaina da (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Bolumen hau sekuentziatik kanpo dago"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr ""
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s bolumena ez da %s-ren pareko"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, 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:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr ""
 
@@ -798,20 +804,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Eduki ezberdintasunak"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Esperogabeko Fitxategi amaiaera paketean"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Fixtategi mota ezberdinak"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Modu ezberdinak"
 
@@ -827,7 +833,7 @@ msgstr "Gid ezberdinak"
 msgid "Mod time differs"
 msgstr "Eraldaketa data ezberdinak"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Tamaina ezberdinak"
 
@@ -836,140 +842,140 @@ msgstr "Tamaina ezberdinak"
 msgid "Not linked to %s"
 msgstr "Ez dago %s-ra loturik"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Lotura sinboliko ezberdinak"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Gailu zenbaki ezberdinak"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Egiaztatu "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:539
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Paketeak zaharkituriko base-64 buruak ditu"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Egiaztapenak huts egin dezake jatorrizko fitxategiak kokatzerakoan."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:73
+#: src/create.c:74
 #, 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:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "%s balioa %s eremutik %s..%s kanpo dago"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Zortzitar buru negatiboak sortzen"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: lotura izena luzeegia da; ez da irauliko"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Fitxategi mota ezezaguna; fitxategia alde batetara utziko da"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "%s-ra lotura falta da.\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fitxategia ez da aldatu, ez da irauliko"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fitxategia paketea da, ez da irauliko"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: katxe direktorioa marka bat du; ez da irauliko"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fitxategia aldatu egin da irakurtzen ari zenean"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket-a alde batetara utzi da"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: atea alde batetara utzia"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Hurrengoa burura salto egiten"
 
@@ -987,55 +993,55 @@ msgstr "%s: Sinesgarri izateko zaharregia den denbora marka %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: %s denbora marka %s etorkizunean da"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Esperogabeko inkonsistentziak direktorioa sortzerakoan"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Alboko fitxategiak fitxategi erregularrak bezala ateratzen"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Lotura sinbolikoak lotura gogor bezala ateratzen saiatzen"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Buru izen luzera esperogabea"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Unekoa %s berriagoa edo data berdinekoa da"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Ez da gai fitxategi honen babeskopia egiteko"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Ezin da %s %s-ra berrizendatu"
@@ -1086,133 +1092,134 @@ msgstr "Inodo zenbaki baliogabea"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Eremu balio esperogabea snapshot fitxategian"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Gordetze amaiera falta da"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Fitxategi inkremental formatu okerra"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, fuzzy, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Onartugabeko inkremental formatu bertsioa: %d"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, 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:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Gaizki eratutako iraulketa direktorioa: 'X' bikoizturik"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Gaizki eratutako iraulketa direktorioa: izen hutsa 'R'-en"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Gaizki eratutako iraulketa direktorioa: 'T' ez doa 'R' atzean"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Gaizki eratutako iraulketa direktorioa: izen hutsa 'T'-en"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Gaizki eratutako iraulketa direktorioa: 'X' ez da inoiz erabili"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Ezin da aldiroko direktorioa sortu %s txantiloia erabiliaz"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Ez da direktorioa garbituko: ezin da egoera eskuratu"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s ezabatzen\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ezin da ezabatu"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Alde batetara uzten"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr ""
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "%s blokea: ** Fitxategi Amaiera **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "%s blokea: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1220,87 +1227,87 @@ msgstr ""
 "direla pentsatuko da"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Paketearen zortzitar %.*s balioa %s eremutik kanpo dago"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Paketeak zaharkituriko base-64 buruak ditu"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " %s-ra lotu\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " %s fitxategi mota ezezaguna\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lotura Luzea--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Izen Luzea--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Bolumen Burua--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%s byte-an jarraitzen du--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Direktorioa sortzen:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s %s-ra berrizendatzen\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Ezin da %s-ra berrizendatu"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s %s-ra atzera berrizendatzen\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fitxategia irakurri baino lehen ezabaturik"
@@ -1313,75 +1320,233 @@ msgstr "ume prozesua"
 msgid "interprocess channel"
 msgstr "prozesu arteko kanala"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Fixtategi lokal hautapena:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "DIR direktoriora aldatu"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "ateratzeko edo sortzeko izenak FITXATEGIA-tik eskuratu"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PATROIA"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "fixtategiak utzi, PATROIA bezala emandakoak"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "FITXATEGIAN zerrendaturiko patroiak alde batetara utzi"
+
+#: src/names.c:95
+#, fuzzy
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr "katxe marka duten direktorioak alde batetara utzi"
+
+#: src/names.c:98
+#, fuzzy
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "katxe marka duten direktorioak alde batetara utzi"
+
+#: src/names.c:101
+#, fuzzy
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "katxe marka duten direktorioak alde batetara utzi"
+
+#: src/names.c:103
+#, fuzzy
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "katxe marka duten direktorioak alde batetara utzi"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+#, fuzzy
+msgid "exclude everything under directories containing FILE"
+msgstr "katxe marka duten direktorioak alde batetara utzi"
+
+#: src/names.c:114
+#, fuzzy
+msgid "exclude directories containing FILE"
+msgstr "katxe marka duten direktorioak alde batetara utzi"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "direktorioetan barrena (lehenetsia)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "sahiestu automatikoki direktorioetan zehar jeistea"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "kasua alde batetara utzi"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "verbatim kate parekatzea"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "%s bolumena ez da %s-ren pareko"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "%s komandoak huts egin du"
 
-#: src/names.c:378
+#: src/names.c:786
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: fitxategi zerrenda irakurria dagoeneko"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ezin da `%s'-ren denbora ezarri"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ez da paketean aurkitu"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr ""
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "`-%s' eta `-%s' aukerek sarrera estandarra behar dute"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Pakete formatu baliogabea"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU ezaugarriak behar dira pakete formatu bateraezinean"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1389,7 +1554,7 @@ msgstr ""
 "`%s' markatze estilo ezezaguna. Saiatu `%s --quoting-style=help' zerrenda "
 "eskuratzeko."
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1420,7 +1585,7 @@ msgstr ""
 "erabili\n"
 "  never, simple   beti babeskopia sinpleak egin\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1452,80 +1617,88 @@ msgstr ""
 "erabili\n"
 "  never, simple   beti babeskopia sinpleak egin\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Ekintza nagusi modua:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "pakete baten edukiak zerrendatu"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "pakete batetako fitxategiak atera"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "pakete berri bat sortu"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "paketea eta fitxategi sistema arteko ezberdintasunak bilatu"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "fitxategiak paketearen amaieran gehitu"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr ""
 "paketean dauden kopiak baino berriagoak diren fitxategiak bakarrik gehitu"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "gehitu tar fitxategiak pakete batetara"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "paketetik ezabatu (ez mag zintetan!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "pakete bolumen etiketa egiaztatu eta irten"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Ekintza aldagaiak:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "sakabanatutako fitxategiak egoki kudeatu"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "GNU basbeskopia inkremenetal formatu zaharra kudeatu"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "GNU basbeskopia inkremenetal formatu berria kudeatu"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1533,175 +1706,184 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "paketeak `seek' onartzen du"
 
-#: src/tar.c:467
+#: src/tar.c:445
 #, fuzzy
 msgid "archive is not seekable"
 msgstr "paketeak `seek' onartzen du"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 #, fuzzy
 msgid "Overwrite control:"
 msgstr "Gainidazketa kontrola:\n"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "fitxategia egiaztatzen saiatu idatzi aurretik"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "ezabatu fitxategiak paketera gehitu aurretik"
 
-#: src/tar.c:485
+#: src/tar.c:463
 #, fuzzy
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "ez ordezkatu dauden fitxategiak ateratzerakoan"
 
-#: src/tar.c:488
+#: src/tar.c:466
 #, fuzzy
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "ez ordezkatu dauden fitxategiak ateratzerakoan"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "gainidatzi dauden fitxategiak ateratzerakoan"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "dauden direktorioen metadata mantendu"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "dauden direktorioen metadata gainidatzi ateratzerakoan (lehenetsia)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 #, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "gainidatzi dauden fitxategiak ateratzerakoan"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Irteera korrontea hautatu:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "fitxategiak irteera estandarrera atera"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "KOMANDOA"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "bideratu ateratako fitxategiak beste programa batetara"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "alde batetara utzi semeen irteera kodeak"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "zero ez diren semeen irteera kodeekin errore bat bezala jokatu"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Fitxategi atributu kudeaketa:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "indartu IZENA jabe bezala gehituriko fitxategientzat"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "indartu IZENA talde bezala gehituriko fitxategientzat"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATA-EDO-FITXATEGIA"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ALDAKETAK"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "indartu (sinbolikoa) modu ALDAKETAK gehituriko lerroentzat"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODOA"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "ez atera fitxategi eraldaketa data"
 
-#: src/tar.c:545
+#: src/tar.c:529
 #, 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:547
+#: src/tar.c:531
 #, fuzzy
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "atera fitxategiak zure kabuz"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "beti erabili zenbakiak erabiltzaile/talde izenen ordez"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "fitxategi baimenei buruzko argibideak atera (lehenetsia root "
 "erabiltzailearentzat)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1709,492 +1891,347 @@ msgstr ""
 "erabiltzailearen umask-a erabili paketetik baimenak ateratzerakoan "
 "(lehenetsia erabiltzaile arruntentzat)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "-p eta -s bikotearen berdina"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "--delay-directory-restore aukeraren eragina ezeztatu"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 #, fuzzy
 msgid "Handling of extended file attributes:"
 msgstr "Fitxategi atributu kudeaketa:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 #, fuzzy
 msgid "Device selection and switching:"
 msgstr "Gailu hautapen eta aldaketa:\n"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "PAKETEA"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "pakete fitxategia edo gailu PAKETEA erabili"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "pakete fitxategi lokala da nahiz bi puntu izan"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "Emandako rmt KOMANDOA erabili rmt ordez"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "Urruneko KOMANDOA erabili rsh ordez"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "Gailu eta dentsitatea ezarri"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "sortu/zerrendatu/atera bolumen-anitzeko paketea"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "zinta aldatu ZENBAKIA x 1024 byte idatzi ondoren"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "scipt-a abiarazi zinta bakoitzaren amaieran (-M behar du)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "erabili/eguneratu FITXATEGI bolumen zenbakia"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Gailu blokeak:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKE"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKE x 512 byte grabazio bakoitzeko"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "grabazio bakoitzeko byte ZENBAKIA, 512-ren multiploa"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "paketean zeroz betetako blokeak alde batetara utzi"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "irakurri ahala berriz bloke egin (4.2BSD tutuentzat)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Pakete formatu hautapena:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMATUA"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "emandako formatuko pakete bat sortu"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMATUA hauetako bat da:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "V7 tar formatu zaharra"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU formatua tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x formatua"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) formatua"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) formatua"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "pax-en berdina"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "--format=v7-ren berdina"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "--format=posix-ren berdina"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "gakoa[[:]=balioavalue][,gakoa[[:]=balioa]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TESTUA"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Elkarjotzen duten konpresio aukerak"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "PROG bidez iragazi (-d onartu behar du)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Fixtategi lokal hautapena:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "DIR direktoriora aldatu"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "ateratzeko edo sortzeko izenak FITXATEGIA-tik eskuratu"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PATROIA"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "fixtategiak utzi, PATROIA bezala emandakoak"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "FITXATEGIAN zerrendaturiko patroiak alde batetara utzi"
-
-#: src/tar.c:728
-#, 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:731
-#, fuzzy
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "katxe marka duten direktorioak alde batetara utzi"
-
-#: src/tar.c:734
-#, fuzzy
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "katxe marka duten direktorioak alde batetara utzi"
-
-#: src/tar.c:736
-#, fuzzy
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "katxe marka duten direktorioak alde batetara utzi"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-#, fuzzy
-msgid "exclude everything under directories containing FILE"
-msgstr "katxe marka duten direktorioak alde batetara utzi"
-
-#: src/tar.c:747
-#, fuzzy
-msgid "exclude directories containing FILE"
-msgstr "katxe marka duten direktorioak alde batetara utzi"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "sahiestu automatikoki direktorioetan zehar jeistea"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "fitxategi sistema lokalean egon paketea sortzerakoan"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "direktorioetan barrena (lehenetsia)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Ez kendu hasierako  `/' fitxategi izenetatik"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 #, 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "PARTAIDE IZEN"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "data eta ordua parekatu data bakarrik aldatzen denean"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "KONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "babeskopia egin ezabatu aurretik, KONTROL bertsioa hautatu"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "KATEA"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Fitxategi izen eraldaketak:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "ESPRESIOA"
 
-#: src/tar.c:786
+#: src/tar.c:718
 #, fuzzy
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "Sed-en ordezko EXPRESIOA erabili fitxategi izenak eraldatzeko"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "kasua alde batetara utzi"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "verbatim kate parekatzea"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "%s bolumena ez da %s-ren pareko"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "irteera informatiboa:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 #, fuzzy
 msgid "warning control"
 msgstr "Gainidazketa kontrola:\n"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Aurrerapen mezuak bistarazi grabaketa ZENBAKI bakiotzagatik (lehenetsia 10 "
 "da)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "mezu bat inprimatu lotura guztiak ez badira iraultzen"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SEINALEA"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2202,308 +2239,326 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 #, fuzzy
 msgid "print file modification times in UTC"
 msgstr "eraldaketa datak UTC orduan bistarazi"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "irteera luzea FITXATEGIRA bidali"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "Bloke zenbakia bistarazu pakete bakoitzeko mezu bakoitzagatik"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "berrespena eskatu ekintza bakoitzean"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "tar lehenespenak bistarazi"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "fixtategi edo pakete izenak bistarazi eraldaketaren aurretik"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "ESTILOA"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "Gako karaktere gehigarriak KATE-tik"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "gakoak kendu karaktereentzat KATE-tik"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Bateragarritasun aukerak:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Beste aukerak:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "ezgaitu arriskutsu izan daitezken zenbait aukera"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Ezin da %s-ra seek egin"
+
+#: src/tar.c:934
 #, fuzzy
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Elkarjotzen duten konpresio aukerak"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Seinale izen ezezaguna: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Data adibide fitxategia ez da aurkitu"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s %s data formatu ezezagunagatik aldatzen"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, fuzzy, c-format
 msgid "filter the archive through %s"
 msgstr "fitxategia gzip bidez iragazi"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 #, fuzzy
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style-entzat balio erabilgarriak:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Jabe baliogabea"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Blokeo faktore baliogabea"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Zinta luzera baliogabea"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 #, fuzzy
 msgid "Invalid incremental level value"
 msgstr "Fitxategi inkremental formatu okerra"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Atari data bat baino gehiago"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ez da onartzen plataforma honetan"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint balioa ez da zenbaki oso bat"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Modu baliogabea eman da aukeran"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Zenbaki baliogabea"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Grabazio tamaina baliogabea"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Grabaszio tamaina %d-ren multiplo bat izan behar da."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Elementu kopuru baliogabea"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "--to-command aukera bat bakarrik onartzen da"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Gaizki eratutako dentsitate argumentua: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Dentsitate Ezezaguna: `%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Errorea zenbakia analizatzean hemendi gertu: `%s'"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FITXATEGIA]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "%s patroia ezin da erabili"
+msgid "non-option arguments in %s"
+msgstr "%s argumentu baliogabea %s-rentzat"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "ezin da `%s'-ren denbora ezarri"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "`%c' zaharkituriko aukerak argumentu bat behar du"
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Pakete fitxategi anitzentzat `-M' aukera erabili behar da"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Ezin dira bolumen-anitzeko paketeak egiaztatu"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Ezin dira konprimituriko fitxategiak egiaztatu"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ezin dira bolumen anitzeko konprimituriko paketeak erabaili"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Ezin dira konprimituriko paketeak kateatu"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr ""
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr " `-Aru' aukerak bateraezinak dira `-f -' rekin"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Behintzat `-Acdtrux' aukeretako bat ezarri behar duzu"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2560,35 +2615,35 @@ msgstr "Gaizki eratutako buru luzapena: lerro berria falta da"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "alde batetara utzi gako buru luzapen ezezaguna `%s'"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Gaizki eratutako buru luzapena: baliogabea %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Gaizki eratutako buru luzapena: gehiegizkoa %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Gaizki eratutako buru luzapena: %s baliogabea: %c mugatzaile esperodageba"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Gaizki eratutako buru luzapena: %s baliogabea: balio kopuru bitxia"
@@ -2629,78 +2684,82 @@ msgstr "Idazketa %u egiaztapen puntua"
 msgid "Read checkpoint %u"
 msgstr "Irakurketa %u egiaztapen puntua"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Pakete sortze aukerak:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "TAMAINA"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Emandako TAMAINAko paketea sortu"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Fitxategi IZENEAN idatzi irteera estandarren ordez"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Fitxategi izenak PAKETEtik irakurri"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Bloke tamaina fitxategi sakabanatuentzat"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Fitxategi sakabanatuak sortu. Komanod lerroaren besteak fitxategi mapa dakar."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 #, fuzzy
 msgid "Seek to the given offset before writing data"
 msgstr "fitxategia egiaztatzen saiatu idatzi aurretik"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Fixtategi estatistika aukerak:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Eduki eta egitura estatusa inprimatu emandako fitxategi bakoiztarentzat. "
 "Lehenetsiriko FORMATUA: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Sinkronizatutako exekuzio aukerak:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 #, fuzzy
 msgid "OPTION"
 msgstr " [AUKERA...]"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 #, fuzzy
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
@@ -2709,180 +2768,180 @@ msgstr ""
 "Emandako KOMANDOA exekutatu. Erabilgarri --checkpoint eta hauetako batekin; "
 "--cut, --append, --touch"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Ezarri data hurrengo --touch aukerarentzat"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "FITXATEGIAREN irakurketa eta eraldaketa denborak aldatu"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "KOMANDOA exekutatu"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Tamaina baliogabea: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Inodo zenbakia eremuz kanpo dago"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, fuzzy, c-format
 msgid "Negative size: %s"
 msgstr "Tamaina baliogabea: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) -ek huts egin du"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Errorea zenbakia analizatzean hemendi gertu: `%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Data formatu ezezaguna"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARG...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Ezin da `%s' ireki"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s: Ezin da %s-ra seek egin"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "fitxategia izenak karaktere baliogabea du"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "maskara baliogabea (`%s'-etik gertu)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "`%s' eremu ezezaguna"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ezin da `%s'-ren denbora ezarri"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "Ezin da `%s' ireki"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "%s komandoak huts egin du"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "Ezin da `%s' ireki"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Komandoa behar bezala irten da\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Komandoa %d egoerarekin huts egin du\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Komandoa %d seinalearekin amaitu da\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Komandoa %d seinalearekin geratu da\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Komando iraulketa nagusia\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Komandoa amaitua\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat -ek fitxategi izenak behar ditu"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Ezin dira --listed-incremental eta --newer batera erabili"
+#~ msgid "same as both -p and -s"
+#~ msgstr "-p eta -s bikotearen berdina"
 
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: -- %c legezkanpoko aukera\n"
@@ -2990,5 +3049,8 @@ msgstr "--stat -ek fitxategi izenak behar ditu"
 #~ msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 #~ msgstr "Oharra: -l aukera ez da onartzen; agian -j edo -T egin nahi zenuen?"
 
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Ezin dira --listed-incremental eta --newer batera erabili"
+
 #~ msgid "Error exit delayed from previous errors"
 #~ msgstr "Errore irteera aurreko erroreak direla eta"
index 502b23e11c178acd638f5ecb0510e107337a77e4..c660470c42a4a8ad91e12c1c4fe69057d1d7e1a9 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index a5114d8f55ba4ead17cd2e033353405c851d6e5a..dd72e599c11d5f267e503c90d0680950e1cdfbca 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the tar package.
 # Lauri Nurmi <lanurmi@iki.fi>, 2002-2006, 2014.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.27\n"
+"Project-Id-Version: tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2014-07-12 17:57+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2015-07-28 21:17+0300\n"
 "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "Language: fi\n"
@@ -17,48 +17,48 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.6.5\n"
+"X-Generator: Poedit 1.8.3\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argumentti %s on virheellinen %s:lle"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argumentti %s on moniselitteinen %s:lle"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Kelvolliset argumentit ovat:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr "ARGP_HELP_FMT: %s-arvo on pienempi tai yhtäsuuri kuin %s"
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: ARGP_HELP_FMT-parametri vaatii arvon"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT-parametrin on oltava positiivinen"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Tuntematon ARGP_HELP_FMT-parametri"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Roskaa ARGP_HELP_FMT:ssä: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -66,144 +66,149 @@ msgstr ""
 "Pitkien valitsinten pakolliset tai valinnaiset argumentit ovat pakollisia "
 "tai valinnaisia myös vastaaville lyhyille."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Käyttö:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  tai: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [VALITSIN...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Kokeile ”%s --help” tai ”%s --usage” saadaksesi lisää tietoa.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Tuntematon järjestelmävirhe"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "näytä tämä ohje"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "näytä lyhyt käyttöohje"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NIMI"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "aseta ohjelman nimi"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "odota SEK sekuntia (oletus 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "näytä ohjelman versio"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(OHJELMAVIRHE) Tuntematon versio‽"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Liian monta argumenttia\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(OHJELMAVIRHE) Valitsin olisi pitänyt tunnistaa‽"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "kirjoitusvirhe"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: valitsin ”%s” on moniselitteinen; vaihtoehdot:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: valitsin ”-W %s” on moniselitteinen\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: valitsin ”--%s” ei salli argumenttia\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: valitsin ”--%s” vaatii argumentin\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: tunnistamaton valitsin ”--%s”\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: tunnistamaton valitsin ”%c%s”\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: virheellinen valitsin -- ”%c”\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: valitsin vaatii argumentin -- ”%c”\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: valitsin ”-W %s” on moniselitteinen\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: valitsin ”%s” vaatii argumentin\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "muisti lopussa"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Työhakemistoa ei voi vaihtaa"
 
-#: gnu/openat-die.c:59
-#, fuzzy, c-format
+#: gnu/openat-die.c:57
+#, c-format
 msgid "failed to return to initial working directory"
 msgstr "alkuperäiseen työhakemistoon palaaminen epäonnistui"
 
@@ -228,11 +233,11 @@ msgstr "alkuperäiseen työhakemistoon palaaminen epäonnistui"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "”"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "”"
 
@@ -242,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[kKyY]"
 
@@ -252,16 +257,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[eEnN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketoinut %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketoinut %s\n"
@@ -269,11 +274,11 @@ msgstr "Paketoinut %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -290,19 +295,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Kirjoittanut %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Kirjoittaneet %s ja %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Kirjoittaneet %s, %s ja %s.\n"
@@ -310,7 +315,7 @@ msgstr "Kirjoittaneet %s, %s ja %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +327,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -334,7 +339,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -346,7 +351,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -358,7 +363,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -372,7 +377,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -386,7 +391,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -401,7 +406,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -410,22 +415,22 @@ msgstr ""
 "\n"
 "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Ilmoita %s-vioista (englanniksi) osoitteeseen %s.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s-kotisivu: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s-kotisivu: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Yleisohjeita GNU-ohjelmistojen käyttöön: <http://www.gnu.org/gethelp/>\n"
@@ -538,9 +543,9 @@ msgid "Cannot connect to %s: resolve failed"
 msgstr "Ei voi yhdistää kohteeseen %s: nimenselvitys epäonnistui"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Etäkuorta ei voi käynnistää"
+msgstr "Tiedostoja ei voida uudelleenohjata etäkuorelle"
 
 #: lib/rtapelib.c:516
 #, c-format
@@ -576,9 +581,8 @@ msgid "Premature eof"
 msgstr "Ennenaikainen tiedoston loppu"
 
 #: rmt/rmt.c:601
-#, fuzzy
 msgid "Invalid operation code"
-msgstr "Virheellinen objekti operaatiolle"
+msgstr "Virheellinen operaatiokoodi"
 
 #: rmt/rmt.c:636 rmt/rmt.c:680
 msgid "Operation not supported"
@@ -592,8 +596,8 @@ msgstr "Odottamattomat argumentit"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Ohjaa nauha-asemaa, hyväksyen komentoja etäprosessilta"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "MÄÄRÄ"
 
@@ -601,10 +605,11 @@ msgstr "MÄÄRÄ"
 msgid "set debug level"
 msgstr "aseta vianjäljityksen taso"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "TIED"
 
@@ -617,7 +622,7 @@ msgstr "aseta vianjäljityksen tulostetiedoston nimi"
 msgid "cannot open %s"
 msgstr "tiedostoa %s ei voi avata"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "liian monta argumenttia"
@@ -626,113 +631,112 @@ msgstr "liian monta argumenttia"
 msgid "Garbage command"
 msgstr "Roskakomento"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Tämä ei näytä tar-arkistolta"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Luettuja tavuja yhteensä"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Kirjoitettuja tavuja yhteensä"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Poistettuja tavuja yhteensä: %s\n"
+msgstr "Poistettuja tavuja yhteensä"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(putki)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Virheellinen arvo kentälle record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Arkiston nimeä ei ole annettu"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Vakiosyötteessä/tulosteessa olevaa arkistoa ei voi varmistaa"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkisto on tiivistetty. Käytä valitsinta %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Pakattuja arkistoja ei voi päivittää"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Nauhan alussa, lopetetaan"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Liian monta virhettä, lopetetaan"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ei pysähtynyt tietueen rajalle"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: sisältää virheellisen arkiston osan järjestysnumeron"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Arkisto-osan järjestysnumeron ylivuoto"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Valmistele osa #%d arkistolle %s ja paina return: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Tiedoston loppu odotetun käyttäjän syötteen sijaan"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROITUS: Arkisto on epätäydellinen"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -744,67 +748,67 @@ msgstr ""
 " q             Keskeytä tar\n"
 " y tai rivinv. Jatka suoritusta\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Käynnistä alikuori\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Näytä tämä lista\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Ei uutta arkiston osaa, poistutaan.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Tiedostonimeä ei annettu. Yritä uudelleen.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Virheellinen syöte. Kirjoita ? ohjeen näyttämiseksi.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "Komento %s epäonnistui"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s ei jatku tällä arkiston osalla"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s ei jatku tällä arkiston osalla"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s on väärän kokoinen (%s ≠ %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tämä arkiston osa epäjärjestyksessä (%s - %s ≠ %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkistoa ei ole nimetty täsmää nimiöön %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Arkiston osa %s ei täsmää nimiöön %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -812,7 +816,7 @@ msgstr ""
 "%s: tiedostonimi on liian pitkä tallennettavaksi moniosaisen GNU-arkiston "
 "otsakkeeseen; nimi typistetty"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "kirjoitus ei päättynyt lohkon rajalle"
 
@@ -823,20 +827,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Sisällöt eroavat"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Odottamaton tiedoston loppu arkistossa"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Tiedoston tyyppi eroaa"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Tila eroaa"
 
@@ -852,7 +856,7 @@ msgstr "GID eroaa"
 msgid "Mod time differs"
 msgstr "Muutosaika eroaa"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Koko eroaa"
 
@@ -861,139 +865,139 @@ msgstr "Koko eroaa"
 msgid "Not linked to %s"
 msgstr "Ei ole linkitetty tiedostoon %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symlinkki eroaa"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Laitenumero eroaa"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Tarkasta "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arkisto sisältää tiedostonimiä, joiden etuliitteet on poistettu."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Arkisto sisältää muunnettuja tiedostonimiä."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Tarkastus ei ehkä löydä alkuperäisiä tiedostoja."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Yksinäinen nollalohko kohdassa %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, fuzzy, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "Välimuistihakemistoa %s ei voi avata\n"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Luodaan otsakkeet negatiivisilla oktaaleilla"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: linkin nimi on liian pitkä, ei lisätä"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "sisältöä ei lisätty"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tuntematon tiedostotyyppi, tiedostoa ei huomioida"
 
-#: src/create.c:1551
-#, fuzzy, c-format
+#: src/create.c:1569
+#, c-format
 msgid "Missing links to %s."
-msgstr "%s:n jälkeen puuttuu operandi"
+msgstr "Puuttuvia linkkejä tiedostoon %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: tiedosto on muuttumaton, ei lisätä"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: tiedosto on arkistossa, ei lisätä"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "hakemistoa ei lisätty"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: tiedosto muuttui lukemisen aikana"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: pistoketta ei huomioida"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: ovea ei huomioida"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Siirrytään seuraavaan otsakkeeseen"
 
@@ -1011,55 +1015,54 @@ msgstr "%s: epätodennäköisen vanha aikaleima %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: aikaleima %s on %s sekuntia tulevaisuudessa"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Odottamaton ristiriita luotaessa hakemistoa"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: ohitetaan olemassa oleva tiedosto"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Puretaan jatkuvat tiedostot normaaleiksi tiedostoiksi"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Yritetään purkaa symboliset linkit koviksi linkeiksi"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
-#, fuzzy
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
-msgstr "Liian pitkä tiedostonimi"
+msgstr "Odottamaton pitkä nimiotsake"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "%s: Tuntematon tiedostotyyppi ”%c”, purettiin normaaliksi tiedostoksi"
+msgstr "%s: Tuntematon tiedostotyyppi ”%c”, vertailtu normaalina tiedostona"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Nykyinen %s on uudempi tai yhtä vanha"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tätä tiedostoa ei voitu varmuuskopioida"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu"
@@ -1109,133 +1112,134 @@ msgstr "Virheellinen i-solmun numero"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: tavu %s: %s %.*s... liian pitkä"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Odottamaton tiedoston loppu arkistossa"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: tavu %s: %s %s: perässä virheellinen tavu 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: tavu %s: (kelvollinen väli %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: tavu %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: tavu %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 #, fuzzy
 msgid "Missing record terminator"
-msgstr "puuttuva ”]”"
+msgstr "<puuttuva>"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 #, fuzzy
 msgid "Bad incremental file format"
 msgstr "Virheellinen kirjasintiedoston muoto"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
-#, fuzzy
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "Kelvoton tiheysargumentti: ”%s”"
+msgstr ""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Väliaikaishakemiston luominen %s-mallia käyttäen ei onnistu"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Ei poisteta hakemistoa: stat ei onnistu"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: hakemisto on eri laitteella, ei poisteta"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Poistetaan %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ei voi poistaa"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Jätetään pois"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "lohko %s: ** NUL-lohko **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "lohko %s: ** Tiedoston loppu **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "lohko %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1243,89 +1247,89 @@ msgstr ""
 "kahden komplementiksi"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkisto sisältää käytöstä poistuvia base-64-otsakkeita"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " linkki tiedostoon %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tuntematon tiedostotyyppi %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Pitkä linkki--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Pitkä nimi--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Arkiston osan otsake--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Jatkuu tavusta %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Luodaan hakemisto:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Nimetään uudelleen %s -> %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Nimetään %s takaisin nimelle %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Tiedosto oli poistettu ennen sen lukemista"
@@ -1338,30 +1342,187 @@ msgstr "lapsiprosessi"
 msgid "interprocess channel"
 msgstr "prosessienvälinen kanava"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Paikallisten tiedostojen valinta:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "HAK"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "siirry hakemistoon HAK"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "hae purettavat/luotavat nimet TIEDOSTOsta"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T lukee nollaan päättyviä nimiä, poistaa käytöstä -C:n"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "kumoa edellisen --null-valitsimen vaikutus"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "HAHMO"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "jätä pois HAHMOn mukaiset tiedostot"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "jätä pois TIEDOSTOssa listatut hahmot"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"jätä pois CACHEDIR.TAGin sisältävät hakemistot, lukuunottamatta tag-"
+"tiedostoa itseään"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät CACHEDIR.TAGin"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "jätä pois CACHEDIR.TAGin sisältävät hakemistot"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"jätä pois TIEDOSTOn sisältävien hakemistojen sisältö, lukuun ottamatta "
+"TIEDOSTOa itseään"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät TIEDOSTOn"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "jätä pois versionhallintajärjestelmän hakemistot"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "lue poisjättöhahmot versionhallinnan ignore-tiedostoista"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "jätä pois varmuuskopio- ja lukkotiedostot"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "etene alihakemistoihin (oletus)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "estä automaattinen eteneminen alihakemistoihin"
+
+#: src/names.c:129
+#, fuzzy
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr "Tiedostonimien täsmäysvalinnat (vaikuttava sekä "
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "hahmot täsmäävät tiedostonimen alkuun"
+
+#: src/names.c:134
+#, fuzzy
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "poisjättöhahmoja verrataan jokaisen ”/”:n jälkeen"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "älä huomioi kirjainkokoa"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "kirjainkoon huomioiva täsmäys (oletus)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "käytä jokerimerkkejä (oletus poisjätölle)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "sanatarkka merkkijonojen täsmäys"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "jokerimerkit täsmäävät merkkiin ”/” (oletus poisjätölle)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "jokerimerkit eivät täsmää merkkiin ”/”"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "komentorivi"
 
-#: src/names.c:378
+#: src/names.c:786
 #, 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 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "merkkijonoa ”%s” ei voi jakaa osiin: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: tiedostonimi sisältää nul-merkin"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Tiedostonimissä on käytetty jokerimerkkejä"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1369,47 +1530,47 @@ msgstr ""
 "Käytä valitsinta --wildcards täsmäyksen käyttöön ottamiseksi, tai --no-"
 "wildcards tämän varoituksen hiljentämiseksi"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ei löytynyt arkistosta"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Vaadittua esiintymää ei löytynyt arkistosta"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arkiston nimiö ei täsmää"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 "Vain yksi -C-valitsin on sallittu valitsimen --listed-incremental kanssa"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Kumpikin valitsimista ”-%s” ja ”-%s” käyttää vakiosyötettä"
+msgstr "Kumpikin valitsimista ”%s” ja ”%s” käyttää vakiosyötettä"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Virheellinen arkistomuoto"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 "Haluttiin käyttää GNU-ominaisuuksia yhteensopimattoman arkistomuodon kanssa"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1417,7 +1578,7 @@ msgstr ""
 "Tuntematon lainaustyyli ”%s”. Kokeile ”%s --quoting-style=help” saadaksesi "
 "listan."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1435,7 +1596,7 @@ 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:387
+#: src/tar.c:363
 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 "
@@ -1456,80 +1617,88 @@ msgstr ""
 "                  muuten yksinkertaisia\n"
 "  never, simple   tee aina yksinkertaisia varmuuskopioita\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Päätoimintatila:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "listaa arkiston sisältö"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "pura tiedostoja arkistosta"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "luo uusi arkisto"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "etsi arkiston ja tiedostojärjestelmän väliset erot"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "lisää tiedostoja arkiston loppuun"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "lisää vain arkistokopiota uudemmat tiedostot"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "lisää tar-tiedostoja arkistoon"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "poista tiedostoja arkistosta (ei toimi magneettinauhoilla!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
-msgstr ""
+msgstr "tarkasta arkiston osan nimiö ja poistu"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Toimintovalinnat:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
-msgstr "käsittele harvat tiedostot tehokkaasti"
+msgstr "käsittele hajanaiset tiedostot tehokkaasti"
+
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
 
-#: src/tar.c:448
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
-"aseta käytettävän harvan muodon versio (valitsin --sparse tulee käyttöön)"
+"aseta käytettävän hajanaisen muodon versio (valitsin --sparse tulee käyttöön)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "käsittele vanha GNU-muotoinen lisääntyvä varmuuskopio"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "käsittele uusi GNU-muotoinen lisääntyvä varmuuskopio"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "jatka lukukelvottomista tiedostoista huolimatta"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1542,170 +1711,179 @@ msgstr ""
 "annettu komentirivillä tai -T-valitsimella; oletusMÄÄRÄ on 1"
 
 # Muualla seek on siirtymistä...
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "arkisto on selattava"
 
 # Muualla seek on siirtymistä...
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "arkisto ei ole selattava"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "älä tarkasta laitenumeroita lisääntyviä arkistoja luotaessa"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Ylikirjoituksen hallinta:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "yritä varmistaa arkisto kirjoittamisen jälkeen"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "poista tiedostot arkistoon lisäämisen jälkeen"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 "älä korvaa olemassa olevia tiedostoja purettaessa, käsittele ne virheinä"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "älä korvaa olemassa olevia tiedostoja purettaessa, ohita ne hiljaisesti"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 "älä korvaa olemassa olevia tiedostoja, jotka ovat arkistokopioitaan uudempia"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "ylikirjoita olemassa olevat tiedostot purettaessa"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "poista jokainen tiedosto ennen sen päälle purkamista"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "tyhjennä rakenne ennen hakemiston purkamista"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "säilytä olemassa olevien hakemistojen metatiedot"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "ylikirjoita purettaessa olemassa olevien hakemistojen metadata (oletus)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "säilytä purettaessa olemassa olevat symlinkit hakemistoihin"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "HAK"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "luo alihakemisto purettujen irtotiedostojen välttämiseksi"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Tulostevirran valinta:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "pura tiedostot vakiotulosteeseen"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "KOMENTO"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "putkita puretut tiedostot toiselle ohjelmalle"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "jätä lapsiprosessien paluuarvot huomiotta"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "käsittele lapsiprosessien nollasta poikkeavat paluuarvot virheinä"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Tiedostojen ominaisuuksien käsittely:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "pakota NIMI lisättyjen tiedostojen omistajaksi"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "pakota NIMI lisättyjen tiedostojen ryhmäksi"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "PÄIVÄYS-TAI-TIED"
 
-#: src/tar.c:534
+#: src/tar.c:516
 #, fuzzy
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "MUUTOS"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "pakota (symbolinen) tila MUUTOS lisätyille"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "TAPA"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "älä pura tiedoston muutosaikaa"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr "yritä purkaa tiedostot samalla omistajuudella (oletus pääkäyttäjälle)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "pura tiedostot itsenäsi (oletus tavallisille käyttäjille)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "käytä aina numeroita käyttäjän/ryhmän nimissä"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "pura tieto tiedostojen oikeuksista (oletus pääkäyttäjälle)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1713,202 +1891,199 @@ msgstr ""
 "sovella käyttäjän umaskia purettaessa tiedostojen oikeuksia arkistosta "
 "(oletus tavallisille käyttäjille)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
+"jäsenargumentit listataan samassa järjestyksessä kuin arkiston tiedostot"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "sama kuin -p ja -s yhdessä"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
-msgstr ""
+msgstr "kumoa --delay-directory-restore -valitsimen vaikutus"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "JÄRJESTYS"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "hakemiston lajittelujärjestys: ei mitään (oletus) tai nimi"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Tiedostojen lisämääreiden käsittely:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Ota käyttöön lisämääreiden tuki"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Poista käytöstä lisämääreiden tuki"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "PEITE"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "määrittele xattr-avainten sisällytyshahmo"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "määrittele xattr-avainten poisjättöhahmo"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Ota käyttöön SELinux-kontekstin tuki"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Poista käytöstä SELinux-kontekstin tuki"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Ota käyttöön POSIX ACLs -tuki"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Poista käytöstä POSIX ACLs -tuki"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Laitteen valinta ja vaihtaminen:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARKISTO"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "käytä arkistotiedostoa tai -laitetta ARKISTO"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "arkisto on paikallinen vaikka nimessä olisi kaksoispiste"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "käytä rmt-KOMENTOA rmt:n sijaan"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "käytä etäKOMENTOa rsh:n sijaan"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "anna asema ja tiheys"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "luo/listaa/pura moniosainen arkisto"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "vaihda nauhaa MÄÄRÄ × 1024 kirjoitetun tavun jälkeen"
 
-#: src/tar.c:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "käytä/päivitä arkiston osan numero TIEDostossa"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Laitteen lohkot:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "LOHKOT"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "LOHKOT × 512 tavua tietuetta kohti"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "MÄÄRÄ tavua tietuetta kohti, 512:n monikerta"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "älä huomioi nollattuja lohkoja arkistossa (merkitsee tiedoston loppua)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "suorita lohkominen uudelleen luettaessa (4.2BSD-putkia varten)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Arkistomuodon valinta:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "MUOTO"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "luo annetun muotoinen arkisto"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "MUOTO on yksi seuraavista:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "vanha V7-tar-muoto"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-muoto tar-versioilla ≤ 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x -muoto"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) -muoto"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) -muoto"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "sama kuin pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "sama kuin --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "sama kuin --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "avainsana[[:]=arvo][,avainsana[[:]=arvo]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "määrittele pax-avainsanoja"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEKSTI"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1916,182 +2091,81 @@ msgstr ""
 "luo arkisto nimiöllä TEKSTI. Listattaessa/purettaessa käytä TEKSTIä "
 "nimiönhakulausekkeena"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Tiivistysvalinnat:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "käytä arkiston päätettä tiivistysohjelman päättelemiseen"
 
-#: src/tar.c:688
+#: src/tar.c:670
+#, fuzzy
 msgid "do not use archive suffix to determine the compression program"
-msgstr ""
+msgstr "käytä arkiston päätettä tiivistysohjelman päättelemiseen"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "OHJ"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "ohjaa OHJelman läpi (on hyväksyttävä -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Paikallisten tiedostojen valinta:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "siirry hakemistoon HAK"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "hae purettavat/luotavat nimet TIEDOSTOsta"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T lukee nollaan päättyviä nimiä, poistaa käytöstä -C:n"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "HAHMO"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "jätä pois HAHMOn mukaiset tiedostot"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "jätä pois TIEDOSTOssa listatut hahmot"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"jätä pois CACHEDIR.TAGin sisältävät hakemistot, lukuunottamatta tag-"
-"tiedostoa itseään"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät CACHEDIR.TAGin"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "jätä pois CACHEDIR.TAGin sisältävät hakemistot"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-"jätä pois TIEDOSTOn sisältävien hakemistojen sisältö, lukuun ottamatta "
-"TIEDOSTOa itseään"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät TIEDOSTOn"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "jätä pois versionhallintajärjestelmän hakemistot"
-
-#: src/tar.c:751
-#, fuzzy
-msgid "read exclude patterns from the VCS ignore files"
-msgstr "poisjättöhahmot ovat tavallisia merkkijonoja"
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "jätä pois varmuuskopio- ja lukkotiedostot"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "estä automaattinen eteneminen alihakemistoihin"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "pysy nykyisessä tiedostojärjestelmässä arkistoa luotaessa"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "etene alihakemistoihin (oletus)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "älä poista ”/”-merkkiä tiedostonimien alusta"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "seuraa symlinkkejä; arkistoi ja lisää niiden osoittamat tiedostot"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "seuraa kovia linkkejä; arkistoi ja lisää niiden osoittamat tiedostot"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "TIED-NIMI"
 
-#: src/tar.c:767
+#: src/tar.c:699
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "aloita arkiston tiedostosta TIED-NIMI"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "PÄIVÄYS"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "vertaa vain tiedoston muutosaikaa"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "HALLINTA"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "varmuuskopiointi ennen poistoa, valitse versionHALLINTA"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "MERKKIJONO"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2099,102 +2173,59 @@ msgstr ""
 "varmuuskopiointi ennen poistoa, älä käytä tavanomaista jälkiliitettä (joka "
 "on ”~”, ellei muuttujaa SIMPLE_BACKUP_SUFFIX ole asetettu)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Tiedostonimien muunnokset:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "poista MÄÄRÄn verran osia tiedostonimien alusta purettaessa"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "LAUSEKE"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "käytä sedin korvausLAUSEKEtta tiedostonimien muuntamiseen"
 
-#: src/tar.c:792
-#, fuzzy
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr "Tiedostonimien täsmäysvalinnat (vaikuttava sekä "
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "älä huomioi kirjainkokoa"
-
-#: src/tar.c:797
-#, fuzzy
-msgid "patterns match file name start"
-msgstr "poisjättöhahmoja verrataan nimen alkuun"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "poisjättöhahmoja verrataan jokaisen ”/”:n jälkeen"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "kirjainkoon huomioiva täsmäys (oletus)"
-
-#: src/tar.c:803
-#, fuzzy
-msgid "use wildcards (default for exclusion)"
-msgstr "Käytettävä muoto: ”new”, ”old” tai ”compat” (oletus)"
-
-#: src/tar.c:805
-#, fuzzy
-msgid "verbatim string matching"
-msgstr "MERKKIJONO"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "Ei vastaavuutta"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "poisjättöhahmon jokerimerkit vastaavat merkkiä ”/”"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Tietoja antava tuloste:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "listaa käsiteltävät tiedostot"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "AVAINSANA"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "varoitusten hallinta"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "näytä edistymisviesti MÄÄRÄn tietueen välein (oletus 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "TOIMINTO"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "suorita TOIMINTO jokaisen tarkistuspisteen kohdalla"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "näytä viesti, ellei kaikkia linkkejä lisätty"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAALI"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2206,81 +2237,88 @@ msgstr ""
 "signaalit ovat: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 ja SIGUSR2; myös nimet "
 "ilman SIG-etuliitettä kelpaavat"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "näytä tiedostojen muutosajat UTC-aikoina"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "näytä tiedoston aikaleima täydellä tarkkuudella"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "ohjaa monisanainen tuloste TIEDostoon"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "näytä lohkonumero arkistossa viestien yhteydessä"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "kysy varmistusta jokaiselle toiminnolle"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "näytä tarin oletukset"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 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:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "näytä tiedosto- tai arkistonimet muunnoksen jälkeen"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "TYYLI"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Yhteensopivuusvalitsimet:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 "luotaessa sama kuin --old-archive; purettaessa sama kuin --no-same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Muut valitsimet:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "poista käytöstä joitakin potentiaalisesti vahingollisia valitsimia"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "Valitsinta --occurrence ei voi käyttää yhdessä valitsimen %s kanssa"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2288,41 +2326,40 @@ msgstr ""
 "Vain yhtä valitsimista ”-Acdtrux”, ”--delete” tai ”--test-label” voi käyttää "
 "kerrallaan"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Ristiriitaiset pakkausvalitsimet"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Tuntematon signaalin nimi: %s"
 
-#: src/tar.c:1103
-#, fuzzy
+#: src/tar.c:1029
 msgid "Date sample file not found"
-msgstr "PÃ\84IVÃ\84YS-TAI-TIED"
+msgstr "Päiväysnäytetiedostoa ei löytynyt"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Korvataan tuntematon päiväysmuoto %2$s arvolla %1$s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, 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:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "ohjaa arkisto %s-ohjelman läpi"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Kelvolliset argumentit --quoting-style-valitsimelle ovat:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2330,183 +2367,194 @@ msgstr ""
 "\n"
 "*Tämä* tar käyttää oletuksena:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Virheellinen omistaja- tai ryhmä-ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Virheellinen lohkomiskerroin"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Virheellinen nauhan pituus"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 #, fuzzy
 msgid "Invalid incremental level value"
-msgstr "virheellinen %%H-arvo"
+msgstr "--level on merkityksetön ilman valitsinta --listed-incremental"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Annettu useampi kuin yksi kynnyspäiväys"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
-msgstr "Virheellinen harvaversion arvo"
+msgstr "Virheellinen hajanaisversion arvo"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ei ole tuettu tällä alustalla"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint-arvo ei ole kokonaisluku"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Valitsimelle annettiin virheellinen tila"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Virheellinen määrä"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Virheellinen tietueen koko"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Tietueen koon on oltava %d:n monikerta."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Virheellinen osien määrä"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Vain yksi --to-command-valitsin on sallittu"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Kelvoton tiheysargumentti: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Tuntematon tiheys: ”%c”"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Virhe lukuarvon jäsentämisessä lähellä kohtaa ”%s”"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[TIEDOSTO]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Valitsinta --%s ei voi käyttää yhdessä valitsimen %s kanssa"
+msgid "non-option arguments in %s"
+msgstr "argumentti %s on virheellinen %s:lle"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "merkkijonoa ”%s” ei voi jakaa osiin: %s"
+
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Vanha valitsin ”%c” vaatii argumentin."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "valitsin --occurence on merkityksetön ilman tiedostoluetteloa"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Usean arkistotiedoston käyttäminen vaatii valitsimen ”-M”"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level on merkityksetön ilman valitsinta --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Moniosaisia arkistoja ei voi tarkastaa"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Pakattuja arkistoja ei voi varmistaa"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Pakattuja moniosaisia arkistoja ei voi käyttää"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Pakattuja arkistoja ei voi liittää toisiinsa"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "Valitsinta --acls voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "Valitsinta --selinux voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "Valitsinta --xattrs voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Arkiston osan pituus ei voi olla pienempi kuin tietueen koko"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Kieltäydytään pelkurimaisesti luomasta tyhjää arkistoa"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Valitsimet ”-Aru” eivät ole yhteensopivia valitsimen ”-f -” kanssa"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Vähintään yhtä valitsimista ”-Acdtrux”, ”--delete” tai ”--test-label” on "
 "käytettävä"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2560,9 +2608,9 @@ msgstr "Väärän muotoinen lisäotsake: rivinvaihto puuttuu"
 #: src/xheader.c:741
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr ""
+msgstr "Jätetään huomiotta tuntematon laajennetun otsakkeen avainsana ”%s”"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2570,27 +2618,27 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Väärän muotoinen lisäotsake: virheellinen %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Väärän muotoinen lisäotsake: ylimääräinen %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Väärän muotoinen lisäotsake: virheellinen %s: odottamaton rajoitin %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Väärän muotoinen lisäotsake: virheellinen %s: pariton määrä arvoja"
@@ -2601,9 +2649,9 @@ msgid "%s: not a valid timeout"
 msgstr "%s ei ole kelvollinen aikakatkaisuarvo"
 
 #: src/checkpoint.c:121
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unknown checkpoint action"
-msgstr "tuntematon käyttäjä-ID: %s"
+msgstr "%s: tuntematon tarkistuspistetoiminto"
 
 #: src/checkpoint.c:202
 msgid "write"
@@ -2631,95 +2679,99 @@ msgstr "Kirjoituksen tarkistuspiste %u"
 msgid "Read checkpoint %u"
 msgstr "Lukemisen tarkistuspiste %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Luo datatiedostot GNU tar:in testausta varten.\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Tiedoston luontivalinnat:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "KOKO"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Luo annetun KOKOinen tiedosto"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Kirjoita tuloste tiedostoon NIMI, ei vakiotulosteeseen"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Lue tiedostonimet TIEDOSTOsta"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T lukee nollatavuun päättyviä nimiä"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
-msgstr ""
+msgstr "Täytä tiedosto annetulla HAHMOlla. HAHMO on ”default” tai ”zeros”"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
-msgstr "Harvan tiedoston lohkokoko"
+msgstr "Hajanaisen tiedoston lohkokoko"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 #, fuzzy
 msgid "Generate sparse file. Rest of the command line gives the file map."
-msgstr "Luo harva tiedosto. "
+msgstr "Luo hajanaisia tiedostoja. "
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "SIIRTYMÄ"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Siirry annettuun kohtaan ennen datan kirjoittamista"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Tiedostojen tilastoinnin valinnat:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Tulosta struct statin sisältö jokaisesta annetusta tiedostosta. "
 "OletusMUOTOILU on: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Synkronisen suorituksen valinnat:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "VALITSIN"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Aseta päiväys seuraavalle --touch-valitsimelle"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Näytä suoritetut tarkistuspisteet sekä KOMENNOn paluuarvo"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2727,7 +2779,7 @@ msgstr ""
 "Synkronisen suorituksen toiminnot. Nämä suoritetaan, kun saavutetaan --"
 "checkpoint-valitsimella annettua numeroa vastaava tarkistuspiste."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2735,152 +2787,166 @@ msgstr ""
 "Typistä TIEDOSTO aiemmalla --length-valitsimella määrättyyn kokoon (tai "
 "nollaan, ellei annettu)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
+#, fuzzy
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
+"Typistä TIEDOSTO aiemmalla --length-valitsimella määrättyyn kokoon (tai "
+"nollaan, ellei annettu)"
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
+#, fuzzy
 msgid "Update the access and modification times of FILE"
-msgstr ""
+msgstr "näytä tiedostojen muutosajat UTC-aikoina"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Suorita KOMENTO"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
-msgstr ""
+msgstr "Poista TIEDOSTOn linkitys"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Virheellinen koko: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Lukuarvo sallitun välin ulkopuolella: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatiivinen koko: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) epäonnistui"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "pyydetty tiedoston pituus %lu, todellinen %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
-msgstr "luotu tiedosto ei ole harva"
+msgstr "luotu tiedosto ei ole hajanainen"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Virhe lukuarvon jäsentämisessä lähellä kohtaa ”%s”"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Tuntematon päiväyksen muoto"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARG...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "tiedostoa ”%s” ei voi avata"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "ei voi siirtyä"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "tiedostonimi sisältää nollatavun"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
-"harvoja tiedostoja ei voi luoda vakiotulosteeseen, käytä --file-valitsinta"
+"hajanaisia tiedostoja ei voi luoda vakiotulosteeseen, käytä valitsinta --file"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr ""
+msgstr "virheellinen peite (lähellä kohtaa ”%s”)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Tuntematon kenttä ”%s”"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "tiedoston ”%s” aikaa ei voi asettaa"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "tiedostoa ”%s” ei voi typistää"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "komento epäonnistui: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "tiedoston ”%s” linkitystä ei voi poistaa"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Komennon suoritus päättyi onnistuneesti\n"
 
-#: tests/genfile.c:835
-#, fuzzy, c-format
+#: tests/genfile.c:903
+#, c-format
 msgid "Command failed with status %d\n"
-msgstr "Komento keskeytyi signaaliin %d\n"
+msgstr "Komento epäonnistui paluuarvolla %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Komento keskeytyi signaaliin %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Komento pysähtyi signaaliin %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, fuzzy, c-format
 msgid "Command dumped core\n"
 msgstr "Komennon suoritus päättyi onnistuneesti\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Komento keskeytyi\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat vaatii tiedostonimiä"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "sama kuin -p ja -s yhdessä"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Valitsin --preserve on vanhentunut, käytä valitsimia --preserve-"
+#~ "permissions --preserve-order"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "Valitsinta --occurrence ei voi käyttää yhdessä valitsimen %s kanssa"
 
index 409bcfe80e15c274cc913d267736b87246c69412..240ae6313612368a72b46825799499bc0ec3406b 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index f632dcb2130e37fe239c6e0cab6b3f2d71b76f43..1243482c427cebe38f23d47573c34e5e5ff79052 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,17 +1,19 @@
 # Messages français pour GNU concernant tar.
 # Copyright © 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
-# Michel Robitaille <robitail@IRO.UMontreal.CA>, jusqu'en 2004
-# Christophe Combelles <ccomb@free.fr>, 2007, 2008, 2009, 2010, 2011
 #
-#: src/create.c:1574
+# Michel Robitaille <robitail@IRO.UMontreal.CA>, jusqu'en 2004.
+# Christophe Combelles <ccomb@free.fr>, 2007, 2008, 2009, 2010, 2011.
+# Stéphane Aulery <lkppo@free.fr>, 2015, 2016.
+#
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.26\n"
+"Project-Id-Version: tar-1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2011-03-13 12:51+0100\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-16 23:50+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
@@ -19,46 +21,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "Argument %s non valable pour %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "Argument %s ambigu pour %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Les arguments valables sont :"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s : le paramètre ARGP_HELP_FMT est inconnu"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Déchet dans ARGP_HELP_FMT : %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -66,143 +68,148 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Utilisation :"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  ou : "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPTION...]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+#: gnu/argp-help.c:1688
+#, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Rapportez toute anomalie à %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Erreur système inconnue"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "Afficher cette aide-mémoire"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "Afficher un court mode d'emploi"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NOM"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "définit le nom du programme"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SECS"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "Bloquer pendant SECS secondes (3600 par défaut)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "Afficher la version du programme"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAM ERROR) Aucune version connue !?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s : trop d'arguments\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAM ERROR) L'option devrait avoir été reconnue !?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "erreur d'écriture"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
-#, fuzzy, c-format
+#: gnu/getopt.c:575 gnu/getopt.c:604
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
+msgstr "%s : l'option « %s » est ambiguë; choix possibles :"
+
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s : l'option « %s » est ambiguë\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s : l'option « --%s » doit avoir un argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s : l'option « --%s » est inconnue\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s : l'option « %c%s » est inconnue\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s : l'option -- '%c' n'est pas valable\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s : l'option -- '%c' a besoin d'un argument\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s : l'option « -W %s » est ambiguë\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "mémoire épuisée"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "Impossible d'enregistrer le répertoire de travail actuel"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "Impossible de revenir au répertoire de travail initial"
@@ -228,11 +235,11 @@ msgstr "Impossible de revenir au répertoire de travail initial"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "« "
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr " »"
 
@@ -242,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[oO]"
 
@@ -252,16 +259,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Packagé par %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Packagé par %s\n"
@@ -269,11 +276,11 @@ msgstr "Packagé par %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -291,19 +298,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Écrit par %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Écrit par %s et %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Écrit par %s, %s et %s.\n"
@@ -311,7 +318,7 @@ msgstr "Écrit par %s, %s et %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -323,7 +330,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +342,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +354,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,7 +366,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -373,7 +380,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -387,7 +394,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -402,7 +409,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -411,22 +418,22 @@ msgstr ""
 "\n"
 "Signalez toute anomalie à : %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Signalez les anomalies de %s à : %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Page d'accueil de %s : <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Page d'accueil de %s : <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Aide générale sur l'utilisation des programmes GNU : <http://www.gnu.org/"
@@ -544,9 +551,11 @@ msgid "Cannot connect to %s: resolve failed"
 msgstr "Impossible de se connecter à %s : échec de résolution"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Impossible de lancer un interpréteur de commandes distant"
+msgstr ""
+"Impossible de rediriger les fichiers vers un interpréteur de commandes "
+"distant"
 
 #: lib/rtapelib.c:516
 #, c-format
@@ -599,8 +608,8 @@ msgstr ""
 "Manipule un lecteur de cartouches en acceptant des commandes d'un processus "
 "distant"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NOMBRE"
 
@@ -608,10 +617,11 @@ msgstr "NOMBRE"
 msgid "set debug level"
 msgstr "définit le niveau de débogage"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FICHIER"
 
@@ -624,7 +634,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:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "trop d'arguments"
@@ -633,116 +643,119 @@ msgstr "trop d'arguments"
 msgid "Garbage command"
 msgstr "Commande rejetée"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Ceci ne ressemble pas à une archive de type « tar »"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Nombre total d'octets lus"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Nombre total d'octets écrits"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Nombre total d'octets effacés : %s\n"
+msgstr "Nombre total d'octets effacés"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(tube)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Refus de lecture du contenu de l'archive depuis le terminal (option -f "
+"manquante ?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Refus d'écriture du contenu de l'archive depuis le terminal (option -f "
+"manquante ?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Valeur incorrecte pour « record_size »"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Aucun nom d'archive donné"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 "Une archive utilisant l'entrée/sortie standard ne peut pas être vérifiée"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "L'archive est compressée. Utilisez l'option %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Une archive compressée ne peut pas être mise à jour"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Début de la cartouche atteinte ; arrêt du programme."
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Trop d'erreurs, arrêt du programme."
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ne s'est pas arrêté à une limite d'enregistrement"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s : contient un numéro de volume non valable"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Débordement du numéro de volume"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 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:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "AVERTISSEMENT : l'archive est incomplète"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -753,67 +766,67 @@ msgstr ""
 " q             Arrêter tar\n"
 " y ou newline  Continuer le traitement\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Générer un sous-shell\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Afficher cette liste\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Pas de nouveau volume ; fin du traitement.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Nom de fichier non spécifié. Essaye encore :).\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, 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:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "Échec de la commande %s"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "La suite de %s n'est pas sur ce volume."
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "La suite de %s n'est pas sur ce volume."
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s a une taille incorrecte (%s != %s + %s)."
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Archive non étiquetée pour correspondre à %s."
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Le volume %s ne correspond pas à %s."
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -821,7 +834,7 @@ msgstr ""
 "%s : nom de fichier tronqué, car trop long pour être stocké dans un en-tête "
 "GNU multi-volumes"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "l'écriture ne s'est pas arrêté sur une limite de bloc"
 
@@ -832,20 +845,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Les contenus sont différents."
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Fin prématurée rencontrée dans l'archive."
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Le type de fichier est différent."
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Le mode est différent."
 
@@ -861,7 +874,7 @@ msgstr "Le GID est différent."
 msgid "Mod time differs"
 msgstr "La date de modification est différente."
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "La taille est différente."
 
@@ -870,145 +883,145 @@ msgstr "La taille est différente."
 msgid "Not linked to %s"
 msgstr "N'est pas lié à %s."
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Le lien symbolique est différent."
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Le numéro de périphérique est différent."
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Vérification "
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, 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 "
+"%s : type de fichier « %c » inconnu, recherche de différence comme pour un "
 "fichier normal"
 
-#: src/compare.c:529
+#: src/compare.c:533
 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:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "L'archive contient des noms de fichiers transformés"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr ""
 "La vérification peut échouer lors de la localisation des fichier originaux."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Bloc zéro solitaire repéré à %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, 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:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Génération d'en-têtes octaux négatifs"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, 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:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "contenu non archivé"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s : type de fichier inconnu ; fichier ignoré"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Liens manquants vers %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s : le fichier n'est pas modifié ; fichier non archivé"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, 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:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "répertoire non archivé"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s : fichier modifié pendant sa lecture"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s : socket ignorée"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s : porte ignorée"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "On saute à l'en-tête suivant"
 
@@ -1026,54 +1039,54 @@ msgstr "%s : l'horodatage %s est trop vieux pour être plausible"
 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:536
+#: src/extract.c:535
 #, 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:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s : fichier existant ignoré"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Extraction des fichiers contigus comme des fichiers réguliers"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Tentative d'extraction des liens symboliques comme des liens physiques"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "En-tête à nom long inattendu"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "%s : type de fichier inconnu « %c », extrait comme un fichier normal."
+msgstr "%s : type de fichier « %c » inconnu, extrait comme un fichier normal"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Le %s actuel est au moins aussi récent"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s : impossible d'archiver ce fichier."
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Impossible de renommer %s en %s"
@@ -1089,10 +1102,10 @@ msgid "%s: Directory is new"
 msgstr "%s : le répertoire est nouveau."
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, 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 "
+"%s : le répertoire est sur un système de fichiers différent ; fichier non "
 "archivé"
 
 #: src/incremen.c:587
@@ -1105,9 +1118,8 @@ msgid "Invalid time stamp"
 msgstr "Horodatage non valable"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "Temps de modification non valable (secondes)"
+msgstr "Temps de modification non valable"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
@@ -1124,133 +1136,135 @@ msgstr "Numéro d'inode non valable"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s : octet %s : %s %.*s… trop long"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Fin prématurée du fichier d'instantané"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s : octet  %s : %s %s suivi de l'octet invalde 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s : octet %s : (intervalle valide %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s : octet %s : %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s : octet %s : %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Terminaison de champ manquante"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Mauvais format de fichier incrémental"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Version non prise en charge pour le format incrémental : %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "dumpdir incorrect : « %c » était attendu mais %#3o a été trouvé"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "dumpdir incorrect : « X » en double"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "dumpdir incorrect : nom vide dans « R »"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "dumpdir incorrect : « T » non précédé de « R »"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "dumpdir incorrect : nom vide dans « T »"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "dumpdir incorrect : « X » n'a jamais été utilisé"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, 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:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s : répertoire non purgé : impossible d'évaluer par stat()"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s : suppression de %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s : suppression impossible"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s : omis"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloc %s : ** Bloc de NULs **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s : ** Fin de fichier **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s : "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1258,27 +1272,27 @@ msgstr ""
 "complément à 2 supposé"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "L'archive contient des en-têtes obsolètes en base 64."
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr ""
@@ -1286,61 +1300,61 @@ msgstr ""
 "attendue."
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " lien vers %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " type de fichier inconnu %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lien long--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nom long--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--En-tête de volume--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Suite à l'octet %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Création du répertoire :"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s renommé en %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s : impossible de renommer en %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s finalement renommé en %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s : fichier supprimé avant d'avoir été lu"
@@ -1353,32 +1367,204 @@ msgstr "processus enfant"
 msgid "interprocess channel"
 msgstr "canal inter-processus"
 
-#: src/names.c:360
-#, fuzzy
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Sélection des noms de fichiers locaux :"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "RÉP"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "Utiliser RÉP comme répertoire de travail"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "Lire depuis le FICHIER la liste des noms à extraire ou à créer"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+"« -T » permet de lire les noms terminés par un NULL ; implique --verbatim-"
+"files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "désactive l'effet de l'option --null précédente"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"Enlever la protection de caractères du fichier d'entrée ou des noms de "
+"membres (par défaut)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+"Ne pas enlever la protection de caractères du fichier d'entrée ou des noms "
+"de membres"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T lit les noms de fichiers verbatim (sans les options)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+"-T traite les noms de fichiers commençants par un tiret comme des options "
+"(par défaut)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MOTIF"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "Exclure les fichiers correspondant au MOTIF"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "Exclure les motifs listés dans le FICHIER"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier "
+"de tag lui-même"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "Tout exclure dans les répertoires contenant CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "Exclure les répertoires contenant CACHEDIR.TAG"
+
+#: src/names.c:103
+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/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+"lire le motif d'exclusion de chaque répertoire depuis FICHIER, s'il existe"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"lire le motif d'exclusion de chaque répertoire et de ses sous-répertoire "
+"depuis FICHIER, s'il existe"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "Tout exclure dans les répertoires contenant le FICHIER"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "Exclure les répertoires contenant le FICHIER"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "Exclure les répertoires des gestionnaires de version"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+"lire les motifs d'exclusion depuis les fichiers d'exclusion des "
+"gestionnaires de version"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "exclure les fichiers de sauvegarde et de verrou"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "Parcourir les sous-répertoires de manière récursive (par défaut)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "Empêcher la descente automatique dans les sous-répertoires"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "Les motifs doivent correspondre au début des noms de fichiers"
+
+#: src/names.c:134
+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/names.c:136
+msgid "ignore case"
+msgstr "Ignorer la casse (majuscules/minuscules)"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "Correspondance sensible à la casse (comportement par défaut)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+"Utiliser des caractères de correspondance (par défaut pour l'exclusion)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "Correspondance exacte de chaîne"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+"« / » peut correspondre à un caractère de correspondance (par défaut pour "
+"l'exclusion)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "« / » ne correspond à aucun caractère de correspondance"
+
+#: src/names.c:768
 msgid "command line"
-msgstr "Échec de la commande %s"
+msgstr "commande échouée"
 
-#: src/names.c:378
-#, fuzzy, c-format
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s : la liste de fichiers est déjà lue"
+msgstr "%s : la liste demandée depuis %s a déjà été lue depuis %s"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "Impossible de définir la date de « %s »"
+msgstr "Impossible de couper la chaîne de caractères « %s » : %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, 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:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 "Caractères de correspondance de motif utilisé dans les noms de fichiers."
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1386,58 +1572,57 @@ msgstr ""
 "Utilisez « --wildcards » pour activer la correspondance de motif ou « --no-"
 "wildcards » pour supprimer cet avertissement"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s : non trouvé dans l'archive"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s : occurence requise non trouvée dans l'archive"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Mauvaise correspondance d'étiquette d'archive"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Une seule option -C est autorisée avec --listed-incremental"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, 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:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s : format d'archive non valable"
 
-#: src/tar.c:196
+#: src/tar.c:197
 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:264
-#, fuzzy, c-format
+#: src/tar.c:265
+#, c-format
 msgid ""
 "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:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1458,8 +1643,7 @@ msgstr ""
 "manière détaillée.\n"
 "  tar -xf archive.tar          # Extrait tous les fichiers de archive.tar.\n"
 
-#: src/tar.c:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1480,84 +1664,92 @@ 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:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Mode d'opération principal :"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "Afficher le contenu de l'archive"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "Extraire les fichiers de l'archive"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "Créer une nouvelle archive"
 
-#: src/tar.c:427
+#: src/tar.c:403
 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:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "Ajouter des fichiers à la fin de l'archive"
 
-#: src/tar.c:432
+#: src/tar.c:408
 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:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "Ajouter des fichiers tar à une archive"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "Effacer de l'archive (pas sur les bandes magnétiques !)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "Tester l'étiquette du volume d'archive et terminer"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modificateurs d'opération :"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr ""
 "Économiser efficacement l'espace dans les fichiers dispersés (fichiers à "
 "trous)"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TYPE"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "technique de détection de trous"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJEUR[.MINEUR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "Prendre en charge les sauvegardes incrémentales à l'ancien format GNU"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "Prendre en charge les sauvegardes incrémentales au nouveau format GNU"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "niveau de vidage d'archive incrémentale au nouveau format GNU"
 
-#: src/tar.c:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 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, --"
@@ -1570,149 +1762,163 @@ msgstr ""
 "fichiers est fournie soit sur la ligne de commande, soit avec l'option « -T "
 "». NOMBRE vaut 1 par défaut."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "L'archive peut être parcourue"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "L'archive ne peut pas être parcourue"
 
-#: src/tar.c:469
+#: src/tar.c:447
 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:472
+#: src/tar.c:450
 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:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Contrôle de l'écrasement :"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "Tenter de vérifier l'archive après écriture"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "Supprimer les fichiers après les avoir ajoutés à l'archive"
 
-#: src/tar.c:485
-#, fuzzy
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "Ne pas écraser les fichiers préexistants lors de l'extraction"
+msgstr ""
+"Ne pas écraser les fichiers préexistants lors de l'extraction et les traiter "
+"comme des erreurs"
 
-#: src/tar.c:488
-#, fuzzy
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "Ne pas écraser les fichiers préexistants lors de l'extraction"
+msgstr ""
+"Ne pas écraser les fichiers préexistants lors de l'extraction et les ignorer "
+"silencieusement"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "Écraser les fichiers préexistants lors de l'extraction"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "Effacer chaque fichier préexistant avant l'extraction"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "Vider les hiérarchies avant d'extraire les répertoires"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "Préserver les métadonnées des répertoires préexistants"
 
-#: src/tar.c:501
+#: src/tar.c:479
 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:504
-#, fuzzy
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "Écraser les fichiers préexistants lors de l'extraction"
-
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "RÉP"
+msgstr ""
+"Écraser les liens symboliques préexistants vers des répertoires lors de "
+"l'extraction"
 
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "créer un sous-répertoire pour éviter de perdre les fichiers extraits"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Choix du flux de sortie :"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "Extraire les fichiers vers la sortie standard"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "COMMANDE"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "Renvoyer par tube les fichiers extraits vers un autre programme"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "Ignorer les codes de retour des processus enfants"
 
-#: src/tar.c:522
+#: src/tar.c:500
 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:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Traitement des attributs de fichiers :"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "Utiliser NOM comme propriétaire des fichiers ajoutés"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "Utiliser NOM comme groupe des fichiers ajoutés"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+"utilise FICHIER pour la correspondance des noms et UIDs du propriétaire"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+"utilise FICHIER pour la correspondance des noms et GIDs du propriétaire"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATE-OU-FICHIER"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "CHANGEMENTS"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 "Utiliser les CHANGEMENTS de mode (symboliques) pour les fichiers ajoutés"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "MÉTHODE"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1722,11 +1928,11 @@ msgstr ""
 "lecture (MÉTHODE = « replace » par défaut) ou en ne définissant pas les "
 "dates initialement (MÉTHODE = « system »)"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "Ne pas extraire la date de modification du fichier"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1734,23 +1940,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:547
+#: src/tar.c:531
 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:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "Toujours utiliser les valeurs numériques des utilisateurs/groupes"
 
-#: src/tar.c:551
+#: src/tar.c:535
 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:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1758,16 +1964,14 @@ msgstr ""
 "Appliquer l'umask de l'utilisateur lors de l'extraction des permissions (par "
 "défaut pour les utilisateurs normaux)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
+"les arguments des membres sont listés dans le même ordre que les fichiers de "
+"l'archive"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "Équivalent à « -p -s » à la fois"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1775,188 +1979,187 @@ msgstr ""
 "Reporter à la fin de l'extraction le changement des dates de modification et "
 "des permissions des répertoires extraits"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "Annule l'effet de l'option « --delay-directory-restore »"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDRE"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "ordre de tri du répertoire : aucun (par défaut) ou nom"
 
-#: src/tar.c:578
-#, fuzzy
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr "Traitement des attributs de fichiers :"
+msgstr "Traitement des attributs de fichiers étendus :"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Activer la prise en charge des attributs étendus"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Désactiver la prise en charge des attributs étendus"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MASQUE"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "spécifier le motif d'inclusion pour les clefs xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "spécifier le motif d'exlusion pour les clefs xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Activer la prise en charge du contexte SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Désactiver la prise en charge du contexte SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Activer la prise en charge des ACL POSIX"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Désactiver la prise en charge des ACL POSIX"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Sélection et option de périphérique :"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIVE"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "Utiliser le fichier ou le périphérique ARCHIVE"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "Utiliser la COMMANDE rmt fournie au lieu de rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "Utiliser la COMMANDE distante à la place de rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "Spécifier le lecteur et la densité"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "Créer/lister/extraire une archive multi-volumes"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "Changer de cartouche après avoir écrit NOMBRE x 1024 octets"
 
-#: src/tar.c:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "Utiliser/mettre à jour le numéro de volume dans le FICHIER"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blocs du périphérique :"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOCS"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOCS x 512 octets par enregistrement"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NOMBRE d'octets par enregistrement (multiple de 512)"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "Ignorer les blocs de zéros dans l'archive (càd EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 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:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Sélection du format d'archive :"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "Créer l'archive au format désiré."
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT peut prendre une des valeurs suivantes :"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "Vieux format tar V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "Format GNU issu de tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "Format GNU tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "Format POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "Format POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "Identique à pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "Identique à « --format=v7 »"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "Identique à « --format=posix »"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "mot_clé[[:]=valeur][,mot_clé[[:]=valeur]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "Mots-clés de contrôle pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXTE"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1965,199 +2168,88 @@ msgstr ""
 "l'extraction, utiliser le TEXTE comme motif de correspondance (glob) au nom "
 "de volume."
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Options de compression :"
 
-#: src/tar.c:686
+#: src/tar.c:668
 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:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "Filtrer à travers le PROG (doit accepter l'option « -d »)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Sélection des fichiers locaux :"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "Utiliser RÉP comme répertoire de travail"
-
-#: src/tar.c:714
-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:716
-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:718
-msgid "disable the effect of the previous --null option"
-msgstr "désactive l'effet de l'option --null précédente"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"Enlever la protection de caractères des noms de fichiers lus avec « -T "
-"» (par défaut)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr ""
-"Ne pas enlever la protection de caractères des noms de fichiers lus avec « -"
-"T »"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "MOTIF"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "Exclure les fichiers correspondant au MOTIF"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "Exclure les motifs listés dans le FICHIER"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier "
-"de tag lui-même"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "Tout exclure dans les répertoires contenant CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "Exclure les répertoires contenant CACHEDIR.TAG"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "Tout exclure dans les répertoires contenant le FICHIER"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "Exclure les répertoires contenant le FICHIER"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "Exclure les répertoires de contrôle de version (CVS, .svn, etc.)"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "exclure les fichiers de sauvegarde et de verrou"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "Empêcher la descente automatique dans les sous-répertoires"
-
-#: src/tar.c:757
+#: src/tar.c:691
 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:759
-msgid "recurse into directories (default)"
-msgstr "Parcourir les sous-répertoires de manière récursive (par défaut)"
-
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "Ne pas enlever le « / » au début des noms de fichiers"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "NOM-DE-MEMBRE"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "Débuter au NOM-DE-MEMBRE dans l'archive"
+msgstr "Débuter au NOM-DE-MEMBRE durant la lecture de l'archive"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "Stocker seulement les fichiers plus récents que DATE-OU-FICHIER"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATE"
 
-#: src/tar.c:772
+#: src/tar.c:704
 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:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTRÔLE"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 "Faire une copie de sauvegarde avant suppression, choisir le CONTRÔLE de "
 "version"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "CHAÎNE"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2166,111 +2258,65 @@ msgstr ""
 "habituel (« ~ » sauf s'il est définit par la variable d'environnement "
 "SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Transformation des noms de fichiers :"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:786
+#: src/tar.c:718
 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:792
-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:795
-msgid "ignore case"
-msgstr "Ignorer la casse (majuscules/minuscules)"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "Les motifs doivent correspondre au début des noms de fichiers"
-
-#: src/tar.c:799
-#, 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:801
-msgid "case sensitive matching (default)"
-msgstr "Correspondance sensible à la casse (comportement par défaut)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-"Utiliser des caractères de correspondance (par défaut pour l'exclusion)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "Correspondance exacte de chaîne"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "« / » ne correspond à aucun caractère de correspondance"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-"« / » peut correspondre à un caractère de correspondance (par défaut pour "
-"l'exclusion)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Options d'affichage :"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "Afficher de manière détaillée les fichiers traités"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "MOTCLÉ"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "Contrôle d'avertissement"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "exécuter l'ACTION à chaque point de contrôle"
 
-#: src/tar.c:827
+#: src/tar.c:737
 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:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2282,35 +2328,35 @@ msgstr ""
 "sont : SIGHUP, SIGQUIT, SIGINT, SIGUSR1 et SIGUSR2. Les noms sans préfixe « "
 "SIG » sont aussi acceptés"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "Afficher les dates de modification de fichier en UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "afficher l'heure du fichier en pleine résolution"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "Envoyer la sortie détaillée vers le FICHIER"
 
-#: src/tar.c:840
+#: src/tar.c:750
 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:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "Demander confirmation pour chaque action"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "Afficher les paramètres par défaut de tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "afficher les intervalles valides des champs des fichiers d'instantané"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2318,33 +2364,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:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "Afficher les noms des fichiers ou des archives après transformation"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "Protéger aussi les caractères faisant partie de la CHAÎNE"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "Enlever la protection des caractères faisant partie de la CHAÎNE"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Options de compatibilité :"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2352,57 +2398,63 @@ msgstr ""
 "Lors de la création, identique à « --old-archive ». Lors de l'extraction, "
 "identique à « --no-same-owner »"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Autres options :"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "Désactiver certaines options potentiellement néfastes"
 
-#: src/tar.c:1010
-#, fuzzy
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "« %s » ne peut pas être utilisé avec « %s »"
+
+#: src/tar.c:934
 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 »"
+"Vous ne pouvez pas sélectionner plus d'une option parmi « -Acdtrux », « --"
+"delete » ou « --test-label »"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Options de compression non compatibles entre elles"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Type de signal inconnu : %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Fichier d'échantillon de date non trouvé"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Remplacement par %s du format de date inconnu %s"
 
-#: src/tar.c:1140
-#, fuzzy, c-format
+#: src/tar.c:1066
+#, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Option %s : date « %s » traitée comme %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "Filtrer l'archive à travers %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Les arguments valables pour l'option « --quoting-style » sont :"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2410,118 +2462,121 @@ msgstr ""
 "\n"
 "Les valeurs par défaut de *ce* tar sont :\n"
 
-#: src/tar.c:1330
-#, fuzzy
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
-msgstr "Propriétaire non valable"
+msgstr "Identifiant du propriétaire ou du groupe non valable"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Facteur de bloc non valable"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Longueur de cartouche non valable"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Mauvaise valeur pour le niveau incrémental"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Plus d'une date seuil"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Version de la dispersion non valable"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 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:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "la valeur de « --checkpoint » n'est pas un entier"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Mode non valable donné en option"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Nombre non valable"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"L'option --preserve est obsolète, utilisez --preserve-permissions --preserve-"
-"order à la place"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Taille d'enregistrement non valable"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Nombre d'éléments incorrect"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Une seule option « --to-command » est permise"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argument de densité incorrect : %s"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densité inconnue : « %c »"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: emplacement de l’erreur"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "erreur à la lecture de « %s »"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FICHIER]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Le motif %s ne peut être utilisé"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "Arguments non-option dans %s"
 
-#: src/tar.c:2389
-#, fuzzy, c-format
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "Impossible de couper TAR_OPTIONS : %s"
+
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "L'ancienne option « %c » a besoin d'un argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence n'a pas de sens sans une liste de fichiers"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Les fichiers d'archives multiples ont besoin de l'option « -M »"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level n'a aucun sens sans --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2530,76 +2585,79 @@ msgstr[0] ""
 msgstr[1] ""
 "%s: l'étiquette du volume est trop longue (la limite est %lu octets)"
 
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Impossible de vérifier des archives multi-volumes"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Impossible de vérifier des archives compressées"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Impossible d'utiliser des archives multi-volumes compressées"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Impossible de concaténer des archives compressées"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 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:2560
-#, fuzzy
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX"
+msgstr "--acls peut être utilisée uniquement avec des archives POSIX"
 
-#: src/tar.c:2565
-#, fuzzy
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX"
+msgstr "--selinux peut être utilisée uniquement avec des archives POSIX"
 
-#: src/tar.c:2570
-#, fuzzy
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX"
+msgstr "--xattrs peut être utilisée uniquement avec des archives POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Impossible de déduire le nom du répertoire de plus haut niveau ; veuillez le "
+"sélectionner explicitement avec --one-top-level=RÉP"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 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:2643
+#: src/tar.c:2602
 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:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Les options « -Aru » sont incompatibles avec « -f - »"
 
-#: src/tar.c:2766
-#, fuzzy
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Vous devez choisir une option parmi « -Acdtrux » ou « --test-label »"
+msgstr ""
+"Vous devez choisir une option parmi « -Acdtrux », « --delete » ou « --test-"
+"label »"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, 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/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "ordre de tri du répertoire : aucun (par défaut), nom ou inode"
 
 #: src/update.c:87
 #, c-format
@@ -2649,11 +2707,11 @@ msgid "Malformed extended header: missing newline"
 msgstr "En-tête étendu incorrect : retour à la ligne manquant"
 
 #: src/xheader.c:741
-#, fuzzy, c-format
+#, 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:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2661,27 +2719,27 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "En-tête étendu incorrect : %s=%s non valable"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "En-tête étendu incorrect : %s=%s en trop"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, 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"
@@ -2722,7 +2780,7 @@ msgstr "Point de contrôle d'écriture %u"
 msgid "Read checkpoint %u"
 msgstr "Point de contrôle de lecture %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2731,72 +2789,76 @@ msgstr ""
 "GNU paxutils.\n"
 "Les options sont :\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Options de création de fichier :"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "TAILLE"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Créer le fichier à la TAILLE donnée"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Écrire dans le fichier NOM, plutôt que sur la sortie standard"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Lire les noms de fichier depuis le FICHIER"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T permet de lire les noms terminés par un NULL"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Remplir le fichier avec le MOTIF donné. MOTIF est « default » ou « zeros »"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Taille d'un bloc pour le fichier dispersé"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Générer un fichier dispersé (avec des trous). Le reste de la ligne de "
 "commande définit la carte du fichier."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "DÉCALAGE"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Se déplacer du DÉCALAGE donné avant d'écrire des données"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Options des statistiques de fichiers :"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Afficher le contenu des structures « stat » pour chaque fichier donné. Le "
 "FORMAT par défaut est :"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Options d'exécution synchrone :"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPTION"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2804,23 +2866,23 @@ msgstr ""
 "Exécuter les ARGS. Utile avec « --checkpoint » et l'une des options « --cut "
 "», « --append », « --touch » ou « --unlink »"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Exécuter l'action donnée (voir plus bas) dès qu'un point de contrôle NOMBRE "
 "est atteint"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Définir la date pour la prochaine option « --touch »"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Afficher les points de contrôle exécutés et les codes de sortie de la "
 "COMMANDE"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2828,7 +2890,7 @@ msgstr ""
 "Actions d'exécution synchrone. Celles-ci sont exécutées lorsque le numéro du "
 "point de contrôle donné par « --checkpoint » est atteint."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2836,270 +2898,161 @@ msgstr ""
 "Tronquer le FICHIER à la taille donnée par la précédente option « --length "
 "» (ou 0 si elle n'est pas fournie)."
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Ajouter TAILLE octets au FICHIER. La TAILLE est fournie par la précédente "
 "option « --length »"
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Mettre à jour les dates d'accès et de modification du FICHIER"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Exécuter la COMMANDE"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Supprimer FICHIER"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Taille non valable : %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Nombre en dehors de la plage permise : %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Taille négative : %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "La fonction stat(%s) a échoué"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "taille de fichier demandée : %lu, taille réelle : %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "le fichier créé n'est pas dispersé"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Erreur à la lecture du nombre près de « %s »"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Format de date inconnu"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Impossible d'ouvrir « %s »"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "Impossible à parcourir"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "Le nom de fichier contient un caractère nul"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "Masque incorrect (près de « %s »)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Champ inconnu « %s »"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "Impossible de définir la date de « %s »"
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "Impossible de supprimer « %s »"
+msgstr "Impossible de tronquer « %s »"
 
-#: tests/genfile.c:701
-#, fuzzy, c-format
+#: tests/genfile.c:769
+#, c-format
 msgid "command failed: %s"
-msgstr "Échec de la commande %s"
+msgstr "commande « %s » échouée"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "Impossible de supprimer « %s »"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "La commande s'est terminée correctement\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "La commande a échoué avec le code %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "La commande s'est terminée sur le signal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "La commande s'est interrompue sur le signal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "La commande a généré un core dump\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "La commande s'est terminée\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat nécessite un nom de fichier"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "Trier les noms à extraire dans le même ordre que l'archive"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr ""
-#~ "« --occurrence » ne peut être utilisée dans le mode d'opération demandé"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Impossible de combiner « --listed-incremental » avec « --newer »"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order n'est pas compatible avec --listed-incremental"
-
-#~ 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 "Cannot get working directory"
-#~ msgstr "Impossible de connaître le répertoire de travail"
-
-#~ msgid "Invalid group"
-#~ msgstr "Groupe non valable"
-
-#~ msgid "Extended header length is out of allowed range"
-#~ msgstr "La longueur de l'en-tête étendu est hors plage"
-
-#~ msgid "%s: Directory removed before we read it"
-#~ msgstr "%s : Répertoire supprimé avant d'avoir été lu"
-
-#~ msgid "Cannot save working directory"
-#~ msgstr "Le répertoire de travail ne peut pas être sauvegardé"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s : l'option « -- %c » n'est pas permise\n"
+#~ msgid "same as both -p and -s"
+#~ msgstr "Équivalent à « -p -s » à la fois"
 
 #~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
 #~ msgstr ""
-#~ "\n"
-#~ "Rapportez toute anomalie à <%s>.\n"
-
-#~ msgid "Input string too long"
-#~ msgstr "Chaîne trop longue en entrée"
-
-#~ msgid "Number syntax error"
-#~ msgstr "Erreur de syntaxe de nombre"
-
-#~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd : impossible de réserver un espace tampon\n"
-
-#~ msgid "Cannot allocate buffer space"
-#~ msgstr "Impossible de réserver un espace tampon"
-
-#~ msgid "Try `%s --help' for more information.\n"
-#~ msgstr "Pour en savoir davantage, tapez : « %s --help ».\n"
-
-#~ 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 ""
-#~ "Utilisation : %s [OPTION]\n"
-#~ "Ce programme permet de manipuler un lecteur de cartouches en recevant des "
-#~ "commandes d'un processus distant.\n"
-#~ "\n"
-#~ "  --version  afficher le nom et la version du programme\n"
-#~ "  --help     afficher cette aide-mémoire\n"
-
-#~ msgid "Seek offset error"
-#~ msgstr "Erreur de positionnement relatif"
-
-#~ msgid "Premature end of file"
-#~ msgstr "Fin de fichier prématurée"
-
-#~ msgid "Reading %s\n"
-#~ msgstr "Lecture de %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Erreur non récupérable : arrêt du traitement"
-
-#~ msgid "suppress this warning."
-#~ msgstr "supprimer cet avertissement."
-
-#~ msgid "filter the archive through bzip2"
-#~ msgstr "Filtrer l'archive à travers « bzip2 »"
-
-#~ msgid "filter the archive through gzip"
-#~ msgstr "Filtrer l'archive à travers « gzip »"
-
-#~ msgid "filter the archive through compress"
-#~ msgstr "Filtrer l'archive à travers « compress »"
-
-#~ msgid "filter the archive through lzma"
-#~ msgstr "Filtrer l'archive à travers « lzma »"
-
-#~ msgid "filter the archive through lzop"
-#~ msgstr "Filtrer l'archive à travers « lzop »"
-
-#~ msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
-#~ msgstr ""
-#~ "AVERTISSEMENT : l'option « -I » n'est pas prise en charge. Vous vouliez "
-#~ "peut-être utiliser « -j » ou « -T » ?"
-
-#~ msgid "Error exit delayed from previous errors"
-#~ msgstr "Des erreurs ont provoqué l'arrêt du programme"
-
-#~ msgid "[.]NUMBER"
-#~ msgstr "[.]NOMBRE"
+#~ "L'option --preserve est obsolète, utilisez --preserve-permissions --"
+#~ "preserve-order à la place"
index ca9948360fcf555f790c2fb3fd32a5ef388fad5c..6926de4f1cff90ec2c2b5be46b9dc06390767d09 100644 (file)
Binary files a/po/ga.gmo and b/po/ga.gmo differ
index 0bbb661b0c774232620eacbefe9e6c8da521804e..50ac9fd01b3bfec2c3693093ddcc24722e3efd05 100644 (file)
--- 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 <scannell@SLU.EDU>, 2003, 2004, 2006, 2007, 2008, 2009.
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.22\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2009-03-25 20:27-0600\n"
 "Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
 "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
@@ -18,47 +18,47 @@ msgstr ""
 "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 : "
 "(n>6 && n <11) ? 3 : 4;\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argóint neamhbhailí %s chun %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argóint dhébhríoch %s chun %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Na hargóintí bailí:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Paraiméadar anaithnid ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Bruscar i ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -66,145 +66,150 @@ msgstr ""
 "Is riachtanach/roghnach le rogha ghearr aon argóint atá riachtanach/roghnach "
 "leis an rogha fhada."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Úsáid:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  nó: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [ROGHA...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Seol tuairiscí fabhtanna chuig %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Earráid anaithnid chórais"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "taispeáin an chabhair seo"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "taispeáin beagán eolais faoin úsáid"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "AINM"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "socraigh ainm an chláir"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SOIC"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "moill de SOIC soicind (réamhshocrú: 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "taispeáin leagan an chláir"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(EARRÁID RÍOMHCHLÁIR) Gan leagan!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: An iomarca argóintí\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 "(EARRÁID RÍOMHCHLÁIR) Ba chóir aitheantas a thabhairt ar an rogha seo!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "earráid sa scríobh"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: Tá an rogha `%s' débhríoch\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: Tá an rogha `-W %s' débhríoch\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, 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:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: rogha anaithnid `--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: rogha anaithnid `%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: rogha neamhbhailí -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, 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:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, 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:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "cuimhne ídithe"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "ní féidir an chomhadlann reatha a thaifeadadh"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "níorbh fhéidir an bhunchomhadlann oibre a aisfhilleadh"
@@ -230,11 +235,11 @@ msgstr "níorbh fhéidir an bhunchomhadlann oibre a aisfhilleadh"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -244,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yYiIsS]"
 
@@ -254,16 +259,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -271,11 +276,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -292,19 +297,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Scríofa ag %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Scríofa ag %s agus %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Scríofa ag %s, %s, agus %s.\n"
@@ -312,7 +317,7 @@ msgstr "Scríofa ag %s, %s, agus %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -324,7 +329,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +341,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -348,7 +353,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -360,7 +365,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -374,7 +379,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -388,7 +393,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -403,29 +408,29 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr "Seol tuairiscí fabhtanna chuig %s.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Seol tuairiscí fabhtanna chuig %s.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, fuzzy, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Leathanach baile %s: <http://www.gnu.org/software/%s/>.\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 #, fuzzy
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Cabhair ghinearálta le bogearraí GNU: <http://www.gnu.org/gethelp/>.\n"
@@ -609,8 +614,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "UIMHIR"
 
@@ -618,10 +623,11 @@ msgstr "UIMHIR"
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "COMHAD"
 
@@ -634,7 +640,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "ní féidir `%s' a oscailt"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "an iomarca argóintí"
@@ -643,67 +649,67 @@ msgstr "an iomarca argóintí"
 msgid "Garbage command"
 msgstr "Ordú dramhaíola"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Ní cosúil le cartlann `tar' é seo"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Bearta léite go hiomlán"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Bearta scríofa go hiomlán"
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Bearta scriosta go hiomlán: %s\n"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(píopa)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Luach neamhbhailí do record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Ní thugtar ainm na cartlainne"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ní féidir cartlann stdin/stdout a fhíorú"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Is cartlann chomhbhrúite í seo. Úsáid an rogha %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a nuashonrú"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Tosach na téipe, ag scor anois"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "An iomarca earráidí, ag scor"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -713,7 +719,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:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -723,38 +729,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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "Níor stopadh rmtlseek ag teorainn taifid"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: tá uimhir imleabhair neamhbhailí ann"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Uimhir imleabhair thar maoil"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Fuarthas comhadchríoch in áit freagra ón úsáideoir"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "RABHADH: Tá an chartlann neamhiomlán"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -766,67 +772,67 @@ msgstr ""
 " q             Tobscoir tar\n"
 " y nó líne nua Lean ar aghaidh\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Sceith fobhlaosc\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Priontáil an liosta seo\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Níl aon imleabhar nua; ag scor.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Ainm an chomhaid gan sonrú. Bain triail eile as.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ionchur neamhbhailí. Iontráil ? chun cabhair a fháil.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "Theip ar ordú %s"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "Ní leanann %s ar an imleabhar seo"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "Ní leanann %s ar an imleabhar seo"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, 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:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Níl an t-imleabhar %s comhoiriúnaithe le %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -834,7 +840,7 @@ msgstr ""
 "%s: ní féidir an comhadainm seo a stóráil i gceanntásc il-imleabhar GNU; "
 "teasctha"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "níor stop an scríobh ag teorainn bhloic"
 
@@ -848,20 +854,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Tá difríocht idir na hábhair"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Comhadchríoch gan choinne i gcartlann"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Tá difríocht idir na cineálacha comhaid"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Tá difríocht idir na móid"
 
@@ -877,7 +883,7 @@ msgstr "Tá difríocht idir na GIDanna"
 msgid "Mod time differs"
 msgstr "Tá difríocht idir na hamanna modhnaithe"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Tá difríocht idir na méideanna"
 
@@ -886,38 +892,38 @@ msgstr "Tá difríocht idir na méideanna"
 msgid "Not linked to %s"
 msgstr "Ní ceangailte le %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Tá difríocht idir na naisc shiombalacha"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Tá difríocht idir na huimhreacha gléis"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Fíoraigh "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Tá comhaid sa chartlann agus a réimíreanna scriosta."
 
-#: src/compare.c:535
+#: src/compare.c:539
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann"
 
-#: src/compare.c:540
+#: src/compare.c:544
 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:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -927,46 +933,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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Bloc nialasach scoite ag %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: tá clib chomhadlainne taisce %s ann; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "tá an luach %s as raon %s: %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Ceanntásca ochtnártha diúltacha á gcruthú"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: ainm naisc rófhada; gan dumpáil"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -976,55 +982,55 @@ 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "ábhar gan dumpáil"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Cineál anaithnid comhaid; ag déanamh neamhshuim air"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "Naisc le %s ar iarraidh.\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: comhad gan athrú; gan dumpáil"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, 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:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "níor dumpáladh an chomhadlann"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: athraíodh an comhad agus á léamh"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: rinneadh neamhshuim ar an soicéad"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: rinneadh neamhshuim ar an doras"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Ag bogadh go dtí an chéad cheanntásc eile"
 
@@ -1042,56 +1048,56 @@ msgstr "%s: ní dócha go bhfuil an stampa ama ársa %s ceart"
 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:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Bunoscionntacht gan choinne agus comhadlann á cruthú"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Comhaid theorantacha á mbaint amach mar ghnáthchomhaid"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 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:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Ceanntásc ainm fada gan choinne"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Tá an %s reatha níos nuaí nó ar comhaois"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Níorbh fhéidir cúltaca a dhéanamh"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Ní féidir %s a athainmniú go %s"
@@ -1142,131 +1148,132 @@ msgstr "Uimhir inode as raon"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Comhadchríoch gan choinne sa chomhad roghbhlúire"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Críochnaitheoir taifid ar iarraidh"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Drochfhormáid incriminteach"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 "Ní thacaítear leis an leagan seo den fhormáid incriminteach: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, 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:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "dumpdir míchumtha: 'X' faoi dhó"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "dumpdir míchumtha: ainm folamh i 'R'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "dumpdir míchumtha: 'T' gan 'R' roimhe"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "dumpdir míchumtha: ainm folamh i 'T'"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "dumpdir míchumtha: níor úsáideadh 'X' riamh"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, 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:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: ní féidir an chomhadlann a stat: gan ghlanadh"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s á scriosadh\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ní féidir scriosadh a dhéanamh"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: ag fágáil ar lár"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloc %s: ** bloc de NULanna **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s: ** Deireadh comhaid **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1274,87 +1281,87 @@ msgstr ""
 "ag glacadh le comhlánú dénártha"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " nasc le %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " cineál anaithnid comhaid %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Nasc Fada--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Ainm Fada--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Ceanntásc Imleabhair--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Ar lean ag beart %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Comhadlann á cruthú:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s á athainmniú go %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Ní féidir athainmniú go %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s á athainmniú go %s arís\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Scriosadh an comhad sular léadh é"
@@ -1367,79 +1374,243 @@ msgstr "macphróiseas"
 msgid "interprocess channel"
 msgstr "bealach idir próisis"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Roghnú comhaid logánta:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "COMHADLANN"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "athraigh go dtí COMHADLANN"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "tóg ainmneacha le baint/cruthú as comhad COMHAD"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "léigh ainmneacha, foirceanta le NULanna; múch -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "díchumasaigh an rogha --null roimhe seo"
+
+#: src/names.c:82
+#, fuzzy
+msgid "unquote input file or member names (default)"
+msgstr ""
+"bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T (réamhshocrú)"
+
+#: src/names.c:84
+#, fuzzy
+msgid "do not unquote input file or member names"
+msgstr "ná bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PATRÚN"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "fág comhaid as an áireamh, tugtha mar PHATRÚN"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "fág as an áireamh aon phatrún atá i gCOMHAD"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"gabh thar ábhar na gcomhadlann ina bhfuil CACHEDIR.TAG, seachas an comhad "
+"clibe féin"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "gabh thar chomhadlanna ina bhfuil CACHEDIR.TAG"
+
+#: src/names.c:103
+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/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil COMHAD"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "gabh thar chomhadlanna a bhfuil COMHAD iontu"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "gabh thar chomhadlanna a bhaineann le córas rialaithe foinsí"
+
+#: src/names.c:118
+#, fuzzy
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "ná bain úsáid as saoróga i bpatrúin eisiata"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "téigh isteach i gcomhadlanna (réamhshocrú)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "ná téigh isteach i bhfochomhadlanna go huathoibríoch"
+
+#: src/names.c:129
+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):"
+
+# subject is "exclude patterns"
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "comhoiriúnaíonn patrúin do thosach ainm an chomhaid"
+
+#: src/names.c:134
+#, 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/names.c:136
+msgid "ignore case"
+msgstr "ná bí cásíogair"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "dealaigh idir litreacha beaga/móra (réamhshocrú)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "úsáid saoróga (réamhshocrú do phatrúin eisiata)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "comhoiriúnú teaghráin carachtar ar charachtar"
+
+#: src/names.c:144
+#, fuzzy
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "comhoiriúnaíonn saoróga do `/' (réamhshocrú le patrúin eisiata)"
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "ní ghlacann saoróga le `/'"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "Theip ar ordú %s"
 
-#: src/names.c:378
+#: src/names.c:786
 #, 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 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ní féidir an t-am a shocrú ar `%s'"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: tá carachtar nialasach sa chomhadainm a léadh"
 
-#: src/names.c:824
+#: src/names.c:1242
 #, fuzzy
 msgid "Pattern matching characters used in file names"
 msgstr "Aimsíodh saoróga in ainmneacha comhaid."
 
-#: src/names.c:826
+#: src/names.c:1244
 #, 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:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ní sa chartlann é"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Níl rud riachtanach sa chartlann"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s"
 
-#: src/names.c:1183
+#: src/names.c:1601
 #, 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:1189
+#: src/names.c:1607
 #, fuzzy
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental"
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, 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:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Formáid neamhbhailí chartlainne"
 
-#: src/tar.c:196
+#: src/tar.c:197
 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:264
+#: src/tar.c:265
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1447,7 +1618,7 @@ msgstr ""
 "Stíl anaithnid athfhriotail `%s'. Bain triail as `%s --quoting-style=help' "
 "chun liosta a fheiceáil."
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1468,7 +1639,7 @@ msgstr ""
 "(foclach).\n"
 "  tar -xf cartlann.tar        # Bain gach comhad amach as cartlann.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1491,80 +1662,88 @@ msgstr ""
 "bhfuil\n"
 "  never, simple   déan cúltacaí simplí i gcónaí\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Príomh-mhód oibre:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "taispeáin an t-ábhar i gcartlann"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "bain comhaid as cartlann"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "cruthaigh cartlann nua"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "taispeáin difríochtaí idir cartlann agus córas comhaid"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "iarcheangail le deireadh cartlainne"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "ná hiarcheangail ach comhaid mhionathraithe leis an gcartlann"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "iarcheangail comhaid tar le cartlann"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "scrios as an gcartlann (nach ar théipeanna maighnéadacha!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "tástáil lipéad imleabhair na cartlainne agus scoir"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Mionathraitheoirí oibríochta:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "caith le gannchomhaid go héifeachtach"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "PRÍOMH[.MION]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "déan cúltaca incriminteach de shean-nós GNU"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "déan cúltaca incriminteach nua-aoise GNU"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 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, --"
@@ -1576,145 +1755,154 @@ 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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "tá an chartlann inchuardaithe"
 
-#: src/tar.c:467
+#: src/tar.c:445
 #, fuzzy
 msgid "archive is not seekable"
 msgstr "tá an chartlann inchuardaithe"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 "ná seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú "
 "(réamhshocrú)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Rialú forscríofa:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "fíoraigh an chartlann i ndiaidh ag scríobh"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "scrios comhaid i ndiaidh iad a chur leis an gcartlann"
 
-#: src/tar.c:485
+#: src/tar.c:463
 #, 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:488
+#: src/tar.c:466
 #, 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:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "forscríobh comhaid atá ann le linn baint amach"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "scrios gach comhaid sula scríobhtar air"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "folmhaigh géagchóras sula mbaintear comhadlann amach"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "ná forscríobh meiteashonraí comhadlainne"
 
-#: src/tar.c:501
+#: src/tar.c:479
 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:504
+#: src/tar.c:482
 #, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "forscríobh comhaid atá ann le linn baint amach"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "COMHADLANN"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Roghnaigh sruth aschurtha:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "bain comhaid amach agus scríobh ar an ngnáth-aschur"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "ORDÚ"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "píopaigh comhaid bhainte go ríomhchlár eile"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "ná bac le cóid scortha na macphróiseas"
 
-#: src/tar.c:522
+#: src/tar.c:500
 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:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Tréithe comhaid á láimhseáil:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "éiligh AINM mar úinéir de chomhaid bhreise"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "éiligh AINM mar ghrúpa de chomhaid bhreise"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DÁTA-NÓ-COMHAD"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ATHRUITHE"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "déan ATHRUITHE ar mhód de chomhaid bhreise"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "MODH"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1724,31 +1912,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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "ná bain am mionathraithe an chomhaid"
 
-#: src/tar.c:545
+#: src/tar.c:529
 #, 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:547
+#: src/tar.c:531
 #, fuzzy
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "bain comhaid amach mar thusa féin"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "bain úsáid as uimhreacha d'ainmneacha úsáideora/grúpa"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "bain eolas faoi cheadanna (réamhshocrú don fhorúsáideoir)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1756,16 +1944,12 @@ msgstr ""
 "cuir umask an úsáideora i bhfeidhm agus ceadanna á mbaint ón chartlann "
 "(réamhshocrú do ghnáthúsáideoirí)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "ar comhbhrí le -p agus -s araon"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1773,188 +1957,188 @@ msgstr ""
 "ná socraigh amanna mionathraithe ná ceadanna de na comhadlanna go dtí go "
 "bhfuil an bhaint curtha i gcrích"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "cealaigh an éifeacht de rogha --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 #, fuzzy
 msgid "Handling of extended file attributes:"
 msgstr "Tréithe comhaid á láimhseáil:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Roghnú gléis agus malartú:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "CARTLANN"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "bain úsáid as cartlann chomhaid nó gléas CARTLANN"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "bain úsáid as ORDÚ in ionad rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "bain úsáid as ORDÚ cian in ionad rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "sonraigh tiomántán agus a dhlús"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "cruthaigh/liostaigh/bain amach cartlann le hiliomad imleabhair"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "athraigh téip i ndiaidh UIMHIR × 1024 beart"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "rith script i ndiaidh gach téip (-M intuigthe)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "úsáid/nuashonraigh an uimhir imleabhair i gCOMHAD"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blocáil ghléis:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOIC"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOIC × 512 beart sa taifead"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "UIMHIR beart sa taifead, iolraí de 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "déan neamhshuim ar bhloic nialasacha sa chartlann (is ionann le EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "athbhlocáil le linn léimh (le píopaí 4.2BSD)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Roghnú formáide:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMÁID"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "cruthaigh cartlann san fhormáid seo"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "Is FORMÁID ceann de na rudaí seo:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "seanfhormáid V7 tar"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "formáid de réir GNU tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "formáid de réir GNU tar 1.13"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "formáid POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "formáid POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "ar comhbhrí le pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "is ionann le --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "is ionann le --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "lorgfhocal[[:]=luach][,lorgfhocal[[:]=luach]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "rialaigh lorgfhocail pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TÉACS"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1962,189 +2146,85 @@ 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:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Roghanna comhbhrúite:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 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:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "CLÁR"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "scag le CLÁR (ní foláir -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Roghnú comhaid logánta:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "athraigh go dtí COMHADLANN"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "tóg ainmneacha le baint/cruthú as comhad COMHAD"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "léigh ainmneacha, foirceanta le NULanna; múch -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "díchumasaigh an rogha --null roimhe seo"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T (réamhshocrú)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "ná bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PATRÚN"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "fág comhaid as an áireamh, tugtha mar PHATRÚN"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "fág as an áireamh aon phatrún atá i gCOMHAD"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"gabh thar ábhar na gcomhadlann ina bhfuil CACHEDIR.TAG, seachas an comhad "
-"clibe féin"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "gabh thar chomhadlanna ina bhfuil CACHEDIR.TAG"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil COMHAD"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "gabh thar chomhadlanna a bhfuil COMHAD iontu"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "gabh thar chomhadlanna a bhaineann le córas rialaithe foinsí"
-
-#: src/tar.c:751
-#, fuzzy
-msgid "read exclude patterns from the VCS ignore files"
-msgstr "ná bain úsáid as saoróga i bpatrúin eisiata"
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "ná téigh isteach i bhfochomhadlanna go huathoibríoch"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "ná fág an córas comhaid seo agus cartlann á cruthú"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "téigh isteach i gcomhadlanna (réamhshocrú)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "ná struipeáil `/' tosaigh ó ainmneacha comhaid"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "AINM-BAILL"
 
-#: src/tar.c:767
+#: src/tar.c:699
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "tosaigh ag ball AINM-BAILL sa chartlann"
 
-#: src/tar.c:769
+#: src/tar.c:701
 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:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DÁTA"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "déan comparáid le dáta/am modhnaithe"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "MODH"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "déan cúltaca sula scriostar, roghnaigh modh oibre maidir le leaganacha"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "TEAGHRÁN"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2152,104 +2232,62 @@ 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:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Trasfhoirmiú ainmneacha comhaid:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "struipeáil UIMHIR comhpháirt tosaigh ó ainmneacha comhaid"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "SLONN"
 
-#: src/tar.c:786
+#: src/tar.c:718
 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:792
-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:795
-msgid "ignore case"
-msgstr "ná bí cásíogair"
-
-# subject is "exclude patterns"
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "comhoiriúnaíonn patrúin do thosach ainm an chomhaid"
-
-#: src/tar.c:799
-#, 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:801
-msgid "case sensitive matching (default)"
-msgstr "dealaigh idir litreacha beaga/móra (réamhshocrú)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "úsáid saoróga (réamhshocrú do phatrúin eisiata)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "comhoiriúnú teaghráin carachtar ar charachtar"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "ní ghlacann saoróga le `/'"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "comhoiriúnaíonn saoróga do `/' (réamhshocrú le patrúin eisiata)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Aschur faisnéiseach:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "taispeáin gach comhad atá próiseáilte, go foclach"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 #, fuzzy
 msgid "warning control"
 msgstr "Rialú forscríofa:"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "GNÍOMH"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "déan GNÍOMH ag gach seicphointe"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "taispeáin eolas mura bhfuil gach nasc dumpáilte"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "COMHARTHA"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2261,36 +2299,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:834
+#: src/tar.c:744
 #, fuzzy
 msgid "print file modification times in UTC"
 msgstr "taispeáin dátaí mionathraithe de réir UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "scríobh aschur foclach i gCOMHAD"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "taispeáin bloc sa chartlann le gach teachtaireacht"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "iarr deimhniú ar gach gníomh"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "taispeáin réamhshocruithe tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2298,33 +2336,33 @@ msgstr ""
 "agus á liostú nó á bhaint amach, taispeáin gach comhadlann nach bhfuil "
 "comhoiriúnaithe don chuardach"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "taispeáin ainmneacha comhaid/cartlainne i ndiaidh trasfhoirmithe"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STÍL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "cuir carachtair athfhriotail timpeall na carachtair ó TEAGHRÁN"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "ná húsáid comharthaí athfhriotail timpeall carachtair ó TEAGHRÁN"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Roghanna Comhoiriúnachta:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2332,56 +2370,63 @@ msgstr ""
 "is ionann le --old-archive le linn cruthaithe; is ionann le --no-same-owner "
 "le linn baint"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Roghanna eile:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 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:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Ní féidir 'seek' a dhéanamh ag %s"
+
+#: src/tar.c:934
 #, fuzzy
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Roghanna contrártha comhbhrúite"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Comhartha anaithnid: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Comhad samplach dáta gan aimsiú"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, 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:1140
+#: src/tar.c:1066
 #, 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:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, fuzzy, c-format
 msgid "filter the archive through %s"
 msgstr "scag an chartlann le xz"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 #, fuzzy
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Argóintí bailí do roghanna --quoting-style:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2389,119 +2434,124 @@ msgstr ""
 "\n"
 "Luachanna réamhshocraithe don tar *seo*:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Úinéir neamhbhailí"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Fachtóir bacainneach neamhbhailí"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Fad téipe neamhbhailí"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 #, fuzzy
 msgid "Invalid incremental level value"
 msgstr "Drochfhormáid incriminteach"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Níos mó ná spriocdháta amháin"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Leagan neamhbhailí ar fhormáid na ngannchomhad"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 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:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "ní mór do luach --checkpoint a bheith ina slánuimhir"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Mód neamhbhailí ar rogha"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Uimhir neamhbhailí"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"tá an rogha --preserve dulta i léig, bain úsáid as --preserve-permissions --"
-"preserve-order ina háit"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Méid taifid neamhbhailí"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Tá líon na mball neamhbhailí"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Ní cheadaítear ach aon rogha --to-command amháin"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Tá an argóint dlúis míchumtha: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Dlús anaithnid: `%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Earráid agus uimhir á parsáil i ngar do `%s'"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[COMHAD]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Ní féidir an patrún %s a úsáid"
+msgid "non-option arguments in %s"
+msgstr "argóint neamhbhailí %s chun %s"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "ní féidir an t-am a shocrú ar `%s'"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Tá gá le hargóint ar an seanrogha `%c'."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "tá an rogha --occurrence gan bhrí in éagmais liosta comhad"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, 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:2498
+#: src/tar.c:2412
 #, fuzzy
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2511,72 +2561,76 @@ 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Ní féidir cartlanna le hiliomad imleabhair a fhíorú"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a fhíorú"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ní féidir úsáid a bhaint as cartlanna il-ranna comhbhrúite"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a iarcheangal"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 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:2560
+#: src/tar.c:2486
 #, 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:2565
+#: src/tar.c:2491
 #, 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:2570
+#: src/tar.c:2496
 #, 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:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 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:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Ní chruthófar cartlann fholamh (go cladhartha)"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Níl na roghanna `-Aru' ar fáil in éineacht le `-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 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:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Scor le stádas teipthe de bharr earráidí roimhe seo"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2637,7 +2691,7 @@ msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 "Lorgfhocal anaithnid `%s' sa cheanntásc breisithe; ag déanamh neamhshuim air"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2645,29 +2699,29 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Ceanntásc míchumtha breisithe: %s=%s neamhbhailí"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Ceanntásc míchumtha breisithe: %s=%s sa bhreis"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Ceanntásc míchumtha breisithe: %s neamhbhailí: corruimhir de luachanna"
@@ -2708,7 +2762,7 @@ msgstr "Seicphointe scríofa %u"
 msgid "Read checkpoint %u"
 msgstr "Seicphointe léimh %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2717,73 +2771,77 @@ msgstr ""
 "paxutils.\n"
 "Is iad na ROGHANNA:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Roghanna - cruthú comhad:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "MÉID"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Cruthaigh comhad leis an MÉID seo"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Scríobh i gcomhad AINM, in ionad an ghnáth-aschuir"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Léigh ainmneacha comhaid ó COMHAD"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "Léann -T ainmneacha, foirceanta le NULanna"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Líon an comhad leis an PATRÚN sonraithe. Is é PATRÚN 'default' nó 'zeros'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Méid bhloic sa gannchomhad"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Cruthaigh gannchomhad. Tugtar an mapa comhaid ar an chuid eile de líne na n-"
 "orduithe."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "FRITHÁIREAMH"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Léim go dtí an FRITHÁIREAMH roimh scríobh na sonraí"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Roghanna - staitisticí comhaid"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Taispeáin inneachar an struct stat le haghaidh gach comhad sonraithe. "
 "FORMÁID réamhshocraithe: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Roghanna - feidhmiú sioncrónach:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 #, fuzzy
 msgid "OPTION"
 msgstr " [ROGHA...]"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 #, fuzzy
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
@@ -2792,20 +2850,20 @@ msgstr ""
 "Rith an tORDÚ sonraithe. Is áisiúil an rogha seo le --checkpoint agus ceann "
 "de --cut, --append, nó --touch"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Déan an gníomh sonraithe (féach thíos) nuair a shroichtear seicphointe UIMHIR"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Socraigh an dáta le haghaidh an chéad rogha --touch eile"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Taispeáin na seicphointí a ritheadh agus stádas scortha den ORDÚ"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2813,7 +2871,7 @@ msgstr ""
 "Gníomhartha rite sioncrónaigh. Ritear iad seo nuair a shroichtear an uimhir "
 "sheicphointe a sonraíodh leis an rogha --checkpoint"
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2821,165 +2879,162 @@ msgstr ""
 "Teasc COMHAD go dtí an mhéid a sonraíodh leis an rogha --length roimhe seo "
 "(nó teasc go dtí 0, mura sonraítear an rogha seo)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Iarcheangail MÉID beart le COMHAD. Tógtar MÉID ón rogha --length roimhe seo."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Nuashonraigh na hamanna rochtana/mionathraithe de CHOMHAD"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Rith ORDÚ"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Méid neamhbhailí: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Uimhir as raon: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Méid diúltach: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "theip ar stat(%s)"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "fad iarrtha %lu, fíorfhad %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "ní gannchomhad é an comhad cruthaithe"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Earráid agus uimhir á parsáil i ngar do `%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Formáid anaithnid ar an dáta"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGÓINTÍ...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "ní féidir `%s' a oscailt"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "ní féidir 'seek' a dhéanamh"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "tá carachtar nialasach sa chomhadainm"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "masc mícheart (i ngar do `%s')"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Réimse anaithnid `%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ní féidir an t-am a shocrú ar `%s'"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "ní féidir `%s' a oscailt"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "Theip ar ordú %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "ní féidir `%s' a oscailt"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "D'éirigh leis an ordú\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Theip ar an ordú le stádas %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Stopadh an t-ordú le comhartha %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Stopadh an t-ordú ar chomhartha %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Rinne an t-ordú córdhumpa\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Ordú críochnaithe\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "Tá ainmneacha comhaid de dhíth ar --stat"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "sórtáil ainmneacha le cur in oiriúint"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "níl an rogha --occurrence ar fáil sa mhód iarrtha"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Ní féidir --listed-incremental a úsáid le --newer"
+#~ msgid "same as both -p and -s"
+#~ msgstr "ar comhbhrí le -p agus -s araon"
 
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "tá an rogha --preserve dulta i léig, bain úsáid as --preserve-permissions "
+#~ "--preserve-order ina háit"
 
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: rogha neamhcheadaithe -- %c\n"
@@ -3049,6 +3104,9 @@ msgstr "Tá ainmneacha comhaid de dhíth ar --stat"
 #~ msgid "suppress this warning."
 #~ msgstr "chun an rabhadh seo a mhúchadh."
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "sórtáil ainmneacha le cur in oiriúint"
+
 #~ msgid "filter the archive through bzip2"
 #~ msgstr "scag an chartlann le bzip2"
 
@@ -3067,6 +3125,12 @@ msgstr "Tá ainmneacha comhaid de dhíth ar --stat"
 #~ msgid "%s: Invalid group"
 #~ msgstr "%s: Grúpa neamhbhailí"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "níl an rogha --occurrence ar fáil sa mhód iarrtha"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Ní féidir --listed-incremental a úsáid le --newer"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "Fad an cheanntáisc breisithe as raon"
 
index 25e58cb50508382bdf68c768d6b8b7f36db7f077..e31a75fcbc1ad695c0ff048753fb51b74bad3cd0 100644 (file)
Binary files a/po/gl.gmo and b/po/gl.gmo differ
index a51e82e3b1c0b0367c3d22f3e1dd1bfb751723e4..faa0ebe8f4981e80d6f32fef2c16ea698d257a13 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2002 Free Software Foundation, Inc.
 # Jacobo Tarrío Barreiro <jtarrio@iname.com>, 2002.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2002-03-26 19:17+0100\n"
 "Last-Translator: Jacobo Tarrío Barreiro <jtarrio@iname.com>\n"
 "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
@@ -16,72 +16,72 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argumento %s non válido para %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argumento %s ambiguo para %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Os argumentos válidos son:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr ""
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr ""
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr ""
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr ""
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 #, fuzzy
 msgid " [OPTION...]"
 msgstr ""
 "\n"
 "Emprego: %s [OPCIÓN]...\n"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 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:1714
+#: gnu/argp-help.c:1716
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -89,121 +89,126 @@ msgstr ""
 "Informe dos erros no programa a <bug-tar@gnu.org>.\n"
 "Informe dos erros na traducción a <proxecto@trasno.net>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Erro do sistema descoñecido"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr ""
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr ""
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr ""
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr ""
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr ""
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr ""
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, fuzzy, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: a opción \"%s\" precisa dun argumento\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: a opción \"%s\" é ambigua\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: a opción \"-W %s\" é ambigua\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: a opción \"%s\" precisa dun argumento\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: opción \"--%s\" non recoñecida\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: opción \"%c%s\" non recoñecida\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opción non válida -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: a opción precisa dun argumento -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, fuzzy, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: a opción \"-W %s\" é ambigua\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memoria esgotada"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Non se puido obte-lo directorio actual"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Non se pode armacena-lo directorio de traballo"
@@ -229,11 +234,11 @@ msgstr "Non se pode armacena-lo directorio de traballo"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "\""
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "\""
 
@@ -243,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr ""
 
@@ -253,16 +258,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -270,11 +275,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -285,19 +290,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, fuzzy, c-format
 msgid "Written by %s.\n"
 msgstr "Escrito por François Pinard"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, fuzzy, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Escrito por François Pinard"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, fuzzy, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Escrito por François Pinard"
@@ -305,7 +310,7 @@ msgstr "Escrito por Fran
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -315,7 +320,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -325,7 +330,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +350,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -356,7 +361,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -367,7 +372,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -379,7 +384,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -389,22 +394,22 @@ msgstr ""
 "Informe dos erros no programa a <bug-tar@gnu.org>.\n"
 "Informe dos erros na traducción a <proxecto@trasno.net>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Renomeando %s a %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -583,8 +588,8 @@ msgstr ""
 "  --version  Amosar información da versión.\n"
 "  --help  Amosar esta axuda.\n"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr ""
 
@@ -592,10 +597,11 @@ msgstr ""
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr ""
 
@@ -608,7 +614,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "Non se puido abrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -617,112 +623,111 @@ msgstr ""
 msgid "Garbage command"
 msgstr "Comando lixo"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Isto non semella un arquivo tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n"
+msgstr ""
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(canalización)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Valor non válido para record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Non se proporcionou o nome do arquivo"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Non se poden verifica-los arquivos da entrada/saída estándar"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Non se poden actualiza-los arquivos comprimidos"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "No comezo da cinta, saíndo agora"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Demasiados erros, saíndo"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contén un número de volume non válido"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Desbordamento no número de volume"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare o volume #%d para %s e prema enter: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Chegouse á fin de ficheiro onde se esperaba unha resposta do usuario"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "AVISO: O arquivo está incompleto"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -734,71 +739,71 @@ msgstr ""
 " !          Executar outro intérprete de comandos\n"
 " ?          Amosar esta lista\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Non hai novos volumes; saíndo.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "O comando \"%s\" fallou"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s non continúa neste volume"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s ten un tamaño incorrecto (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volume está fora da secuencia"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "O arquivo non está etiquetado para coincidir con %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "O volume %s non coincide con %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 #, 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"
@@ -810,20 +815,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "O contido é diferente"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Fin de ficheiro inesperado no arquivo"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "O tipo de ficheiro é diferente"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "O modo é diferente"
 
@@ -839,7 +844,7 @@ msgstr "Os gid son diferentes"
 msgid "Mod time differs"
 msgstr "A data de modificación é diferente"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "O tamaño é diferente"
 
@@ -848,141 +853,141 @@ msgstr "O tama
 msgid "Not linked to %s"
 msgstr "Non ligado a %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "A ligazón simbólica é diferente"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "O número de dispositivo é diferente"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verificar "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:539
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "O arquivo contén cabeceiras base-64 obsoletas"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Xerando cabeceiras octais negativas"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: ficheiro sen cambios; non se envorca"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (memoria volcada)"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipo de ficheiro descoñecido; ignórase este ficheiro"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr " ligazón a %s\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: ficheiro sen cambios; non se envorca"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: o ficheiro é o arquivo; non se envorca"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: o ficheiro cambiou mentres se lía"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: ignórase o socket"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: ignórase a porta"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Pasando á seguinte cabeceira"
 
@@ -1000,56 +1005,56 @@ msgstr ""
 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:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistencia inesperada ao crea-lo directorio"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Extraendo os ficheiros contiguos coma ficheiros normais"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Tentando extrae-las ligazóns simbólicas coma ligazóns duras"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Fin de ficheiro (EOF) inesperado no arquivo"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Non se puido copiar este ficheiro"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Non se pode renomear a %s"
@@ -1100,131 +1105,131 @@ msgstr "N
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Fin de ficheiro (EOF) inesperado no arquivo"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, 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:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Borrando %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Non se pode eliminar"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Omitíndoo"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloque %s: ** Bloque de nulos **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloque %s: ** Fin de Ficheiro **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "bloque %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1232,87 +1237,87 @@ msgstr ""
 "a 2"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "O arquivo contén cabeceiras base-64 obsoletas"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " ligazón a %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " Tipo de ficheiro %s descoñecido\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabeceira de Volume--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continúa no byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Creando o directorio:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Renomeando %s a %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Non se pode renomear a %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Renomeando %s a %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Ficheiro eliminado antes da súa lectura"
@@ -1325,81 +1330,232 @@ msgstr "proceso fillo"
 msgid "interprocess channel"
 msgstr "canle interproceso"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Arquivar da entrada estándar"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr ""
+
+#: src/names.c:73
+#, fuzzy
+msgid "change to directory DIR"
+msgstr "Non se pode cambia-lo directorio de traballo"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr ""
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr ""
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr ""
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr ""
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr ""
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr ""
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr ""
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr ""
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr ""
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "O volume %s non coincide con %s"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "O comando \"%s\" fallou"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Non atopado no arquivo"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Non atopado no arquivo"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "O arquivo non está etiquetado para coincidir con %s"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, 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:164
+#: src/tar.c:165
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Grupo non válido"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Quérense as características de GNU no formato de arquivo incompatible"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1420,7 +1576,7 @@ msgstr ""
 "                               # dando moitos datos\n"
 "  %s -xf arquivo.tar           # Extraer tódolos ficheiros de arquivo.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1442,80 +1598,88 @@ msgstr ""
 "  nil, existing   numera se existen copias de seguridade numeradas\n"
 "  never, simple   sempre fai copias de seguridade sinxelas\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:425
+#: src/tar.c:401
 #, fuzzy
 msgid "create a new archive"
 msgstr "Fin de ficheiro inesperado no arquivo"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:459
+#: src/tar.c:437
 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,643 +1687,514 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr ""
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:461
 #, fuzzy
 msgid "remove files after adding them to the archive"
 msgstr "Borrando a especificación de unidade dos nomes do arquivo"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr ""
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:516
+#: src/tar.c:494
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Erro ao gravar na saída estándar"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr ""
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr ""
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:609
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Non se pode verifica-los arquivos multi-volume"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:653
+#: src/tar.c:635
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Arquivar da entrada estándar"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Opcións de compresión conflictivas"
 
-#: src/tar.c:686
+#: src/tar.c:668
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "Non se puido escribir no programa de compresión"
 
-#: src/tar.c:688
+#: src/tar.c:670
 #, 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#: src/tar.c:712
-#, fuzzy
-msgid "change to directory DIR"
-msgstr "Non se pode cambia-lo directorio de traballo"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr ""
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr ""
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr ""
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr ""
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr ""
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr ""
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr ""
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Eliminadndo o \"%.*s\" inicial dos nomes dos membros"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "O volume %s non coincide con %s"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2167,307 +2202,325 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:842
+#: src/tar.c:752
 #, fuzzy
 msgid "ask for confirmation for every action"
 msgstr "Non se puido le-la confirmación do usuario"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Non se pode saltar a %s"
+
+#: src/tar.c:934
 #, fuzzy
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opcións de compresión conflictivas"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " Tipo de ficheiro %s descoñecido\n"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Non se atopou o ficheiro de data"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, 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:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Propietario non válido"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Factor de bloqueo non válido"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Lonxitude da fita non válida"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Máis dunha data de umbral"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Proporcionouse na opción un modo non válido"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 #, fuzzy
 msgid "Invalid number"
 msgstr "Número de inode non válido"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Tamaño de rexistro non válido"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Lonxitude da fita non válida"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Patrón descoñecido `%s'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Erro mentres se cerraba %s"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr ""
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "%s: Non se pode saltar a %s"
+msgid "non-option arguments in %s"
+msgstr "argumento %s non válido para %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr ""
+
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "A antiga opción \"%c\" precisa dun argumento."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Varios ficheiros de arquivo requiren a opción \"-M\""
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Non se pode verifica-los arquivos multi-volume"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Non se poden verifica-los arquivos comprimidos"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Non se poden empregar arquivos comprimidos multi-volume"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Non se poden actualiza-los arquivos comprimidos"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "De xeito cobarde rexéitase crear un ficheiro baleiro"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "As opcións \"-Aru\" son incompatibles con \"-f -\""
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Debe especificar unha das opcións \"-Acdtrux\""
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2524,34 +2577,34 @@ msgstr ""
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2592,255 +2645,256 @@ msgstr "Punto de control de escritura %d"
 msgid "Read checkpoint %u"
 msgstr "Punto de control de lectura %d"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Xera-los ficheiros de datos para a suite de probas de GNU tar.\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 #, fuzzy
 msgid "File creation options:"
 msgstr "Opcións de compresión conflictivas"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "Erro ao gravar na saída estándar"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr ""
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 #, fuzzy
 msgid "Update the access and modification times of FILE"
 msgstr "%s: Non se puido cambia-la hora de acceso e modificación"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Marca de tempo non válida"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Número de inode fóra de rango"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Erro do sistema descoñecido"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "Non se puido abrir %s"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "Non se pode pechar"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "Patrón descoñecido `%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "Non se puido evalua-lo ficheiro %s"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "Non se puido evalua-lo ficheiro %s"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "O comando \"%s\" fallou"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "Non se puido abrir %s"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "O fillo morreu co sinal %d"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Nomes de ficheiro alterados--\n"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Non se pode combinar --listed-incremental con --newer"
-
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: opción non admitida -- %c\n"
 
@@ -3317,6 +3371,9 @@ msgstr "--Nomes de ficheiro alterados--\n"
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Escrito por John Gilmore e Jay Fenlason."
 
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Non se pode combinar --listed-incremental con --newer"
+
 #~ msgid "Error exit delayed from previous errors"
 #~ msgstr "Saída por erro retrasada dos erros anteriores"
 
@@ -3438,9 +3495,6 @@ msgstr "--Nomes de ficheiro alterados--\n"
 #~ msgid "Not a regular file"
 #~ msgstr "Non é un ficheiro normal"
 
-#~ msgid "Error while closing %s"
-#~ msgstr "Erro mentres se cerraba %s"
-
 #~ msgid "Does not exist"
 #~ msgstr "Non existe"
 
index fc3de2720717cb1ffadd1392cb174cc54d531701..2073332267a63a33f3412638f89b0b2f30b00641 100644 (file)
Binary files a/po/hr.gmo and b/po/hr.gmo differ
index d81de9ca1f296fef40ffc5ea39a4896095e1323b..7e167adcc2a477481be73ff8496f9d6298accdaa 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -1,21 +1,25 @@
 # Translation of tar to Croatian.
-# Copyright © 2002 Free Software Foundation, Inc.
+# Copyright (C) 2016 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
 #
+# bp, travanj 2016.: to je originalni TK zadnji prijevod od 2012. godine
+# samo su dodani novi msgid-ovi i uređeni fuzirani msgstr-ovi.
+# korektura u dogovoru s lingvistima slijedi u dogledno vrijeme.
+#
 # Mirsad Todorovac <mtodorov_69@yahoo.com>, 2002.
 # Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.26\n"
+"Project-Id-Version: tar-1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2012-12-21 00:09+0100\n"
-"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-30 19:32-0700\n"
+"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
 "Language: hr\n"
 "MIME-Version: 1.0\n"
@@ -23,48 +27,52 @@ msgstr ""
 "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"
+"X-Generator: Poedit 1.8.7.1\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-Basepath: ../../Downloads/tar-1.28.90\n"
+"X-Poedit-SearchPath-0: gnu\n"
+"X-Poedit-SearchPath-1: src\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "neispravan argument %s za %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "višeznačan argument %s za %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Ispravni argumenti su:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr "ARGP_HELP_FMT: vrijednost %s je manja ili jednaka %s"
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: ARGP_HELP_FMT parametar zahtijeva vrijednost"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT parametar mora biti pozitivan"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Nepoznati ARGP_HELP_FMT parametar"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Smeće u ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -72,143 +80,149 @@ msgstr ""
 "Obavezni ili opcionalni argumenti dugačkih opcija također su obavezni ili "
 "opcionalni za odgovarajuće kratke opcije."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Uporaba:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
-msgstr "    ili: "
+msgstr "   ili: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPCIJA...]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+# promjena svih ” u “; navodnički par „“
+#: gnu/argp-help.c:1688
+#, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
-msgstr "PokuÅ¡ajte â\80\9e%s --helpâ\80\9d ili â\80\9e%s --usageâ\80\9d za više informacija.\n"
+msgstr "PokuÅ¡ajte â\80\9e%s --helpâ\80\9c ili â\80\9e%s --usageâ\80\9c za više informacija.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Prijavite greške na %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Nepoznata greška sustava"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "prikaži ovaj popis pomoći"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "prikaži kratke upute za uporabu"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "IME"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "postavi ime programa"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "zaustavi na SEK sekundi (zadano 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "ispiši inačicu programa"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(GREŠKA PROGRAMA) Nema poznate inačice!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Previše argumenata\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(GREŠKA PROGRAMA) Opcije su trebale biti prepoznate!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "greška pisanja"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
-#, fuzzy, c-format
+#: gnu/getopt.c:575 gnu/getopt.c:604
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: opcija „%s” je višeznačna\n"
+msgstr "%s: opcija „%s“ je višeznačna; mogućnosti:"
+
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opcija „%s“ je višeznačna\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: opcija â\80\9e--%sâ\80\9d ne dozvoljava argument\n"
+msgstr "%s: opcija â\80\9e--%sâ\80\9c ne dozvoljava argument\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: opcija â\80\9e%c%sâ\80\9d ne dozvoljava argument\n"
+msgstr "%s: opcija â\80\9e%c%sâ\80\9c ne dozvoljava argument\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: opcija â\80\9e--%sâ\80\9d zahtijeva argument\n"
+msgstr "%s: opcija â\80\9e--%sâ\80\9c zahtijeva argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: neprepoznata opcija â\80\9e--%sâ\80\9d\n"
+msgstr "%s: neprepoznata opcija â\80\9e--%sâ\80\9c\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: neprepoznata opcija â\80\9e%c%sâ\80\9d\n"
+msgstr "%s: neprepoznata opcija â\80\9e%c%sâ\80\9c\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: neispravna opcija -- â\80\9e%câ\80\9d\n"
+msgstr "%s: neispravna opcija -- â\80\9e%câ\80\9c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: opcija zahtijeva argument -- â\80\9e%câ\80\9d\n"
+msgstr "%s: opcija zahtijeva argument -- â\80\9e%câ\80\9c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: opcija â\80\9e-W %sâ\80\9d je višeznačna\n"
+msgstr "%s: opcija â\80\9e-W %sâ\80\9c je višeznačna\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: opcija â\80\9e-W %sâ\80\9d ne dozvoljava argument\n"
+msgstr "%s: opcija â\80\9e-W %sâ\80\9c ne dozvoljava argument\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: opcija â\80\9e-W %sâ\80\9d zahtijeva argument\n"
+msgstr "%s: opcija â\80\9e-W %sâ\80\9c zahtijeva argument\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memorija iscrpljena"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "ne mogu zapisati trenutni radni direktorij"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "nisam se uspio vratiti u početni radni direktorij"
@@ -235,13 +249,13 @@ msgstr "nisam se uspio vratiti u početni radni direktorij"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "„"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
-msgstr "â\80\9d"
+msgstr "â\80\9c"
 
 #. TRANSLATORS: A regular expression testing for an affirmative answer
 #. (english: "yes").  Testing the first character may be sufficient.
@@ -249,7 +263,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[dDyY]"
 
@@ -259,16 +273,16 @@ msgstr "^[dDyY]"
 #. 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
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakirao %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakirao %s\n"
@@ -276,11 +290,11 @@ 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -297,19 +311,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Napisao %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Napisali %s i %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Napisali %s, %s i %s.\n"
@@ -317,7 +331,7 @@ 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
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: gnu/version-etc.c:119
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -329,7 +343,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -341,7 +355,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -353,7 +367,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -365,7 +379,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -379,7 +393,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -393,7 +407,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -408,7 +422,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -418,22 +432,22 @@ msgstr ""
 "Prijavite greške na %s.\n"
 "Prijavite greške prijevoda na <lokalizacija@linux.hr>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Prijavite %s greške na %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s početna stranica: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s početna stranica: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Općenita pomoć za korištenje GNU softvera: <http://www.gnu.org/gethelp/>\n"
@@ -513,20 +527,20 @@ msgstr[2] "%s: Zapisao samo %lu od %lu bajtova"
 #: lib/paxnames.c:140
 #, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Uklanjam poÄ\8detni â\80\9e%sâ\80\9d iz imena elemenata"
+msgstr "Uklanjam poÄ\8detni â\80\9e%sâ\80\9c iz imena elemenata"
 
 #: lib/paxnames.c:141
 #, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "Uklanjam poÄ\8detni â\80\9e%sâ\80\9d iz odredišta čvrstih veza"
+msgstr "Uklanjam poÄ\8detni â\80\9e%sâ\80\9c iz odredišta čvrstih veza"
 
 #: lib/paxnames.c:154
 msgid "Substituting `.' for empty member name"
-msgstr "Mijenjam â\80\9e\80\9d za prazno ime elementa"
+msgstr "Mijenjam â\80\9e\80\9c za prazno ime elementa"
 
 #: lib/paxnames.c:155
 msgid "Substituting `.' for empty hard link target"
-msgstr "Mijenjam â\80\9e\80\9d za prazno odredište čvrste veze"
+msgstr "Mijenjam â\80\9e\80\9c za prazno odredište čvrste veze"
 
 #: lib/rtapelib.c:299
 #, c-format
@@ -550,9 +564,9 @@ msgid "Cannot connect to %s: resolve failed"
 msgstr "Ne mogu se spojiti na %s: rezolucija nije uspjela"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Ne mogu pokrenuti udaljenu ljusku"
+msgstr "Ne mogu preusmjeriti datoteke za udaljenu ljusku"
 
 #: lib/rtapelib.c:516
 #, c-format
@@ -605,8 +619,8 @@ msgstr "Neočekivani argumenti"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Upravlja pogonom vrpce, prihvaćajući naredbe udaljenog procesa"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "BROJ"
 
@@ -614,10 +628,11 @@ msgstr "BROJ"
 msgid "set debug level"
 msgstr "postavi razinu debugiranja"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "DATOTEKA"
 
@@ -630,7 +645,7 @@ msgstr "postavi ime datoteke izlaza za debugiranje"
 msgid "cannot open %s"
 msgstr "ne mogu otvoriti %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "previše argumenata"
@@ -639,69 +654,71 @@ msgstr "previše argumenata"
 msgid "Garbage command"
 msgstr "Naredba smeća"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Ovo ne izgleda kao tar arhiva"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Ukupno pročitano bajtova"
 
 # FIXME -- ovo neće raditi ako je prevedeno -- Denis?
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Ukupno zapisano bajtova"
 
 # FIXME -- ovo neće raditi ako je prevedeno -- Denis?
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Ukupno izbrisano bajtova: %s\n"
+msgstr "Izbrisano ukupno bajtova"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(cjevovod)"
 
-#: src/buffer.c:680
+# Hrvatski jezični portal
+# otkazati > odbiti izvršiti naredbu
+# odbijati > ne pristati
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Čitanje sadržaja arhive s terminala je odbijeno (nedostaje -f opcija?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Ispis sadržaja arhive na terminal je odbijeno (nedostaje -f opcija?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Neispravna vrijednost za record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Nije zadano ime arhive"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ne mogu provjeriti stdin/stdout arhivu"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiva je komprimirana. Koristite opciju %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Ne mogu ažurirati komprimirane arhive"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Početak trake, završavam"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Previše grešaka, završavam"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -709,7 +726,7 @@ msgstr[0] "Veličina zapisa = %lu blok"
 msgstr[1] "Veličina sloga = %lu bloka"
 msgstr[2] "Veličina sloga = %lu blokova"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -717,37 +734,37 @@ 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:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Ne mogu se pomicati unatrag unutar arhive, može biti nečitljiva bez -i"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek nije stao na granici zapisa"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: sadrži neispravan broj dijela arhive"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Preljev broja dijela arhive"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Pripremite dio arhive #%d za %s i pritisnite [RETURN]: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Pronađen EOF gdje sam očekivao odgovor korisnika"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "UPOZORENJE: Arhiva je nepotpuna"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -759,67 +776,67 @@ msgstr ""
 " q                 Prekini tar\n"
 " y ili novi redak  Nastavi rad\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !                 Pokreni podljusku\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?                 Ispiši ovaj popis\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Nema novog dijela arhive, završavam.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Ime datoteke nije navedeno. Pokušajte ponovo.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Neispravan unos. Unesite ? za pomoć.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "naredba %s nije uspjela"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s nije nastavljen na ovom dijelu arhive"
+
+#: src/buffer.c:1523
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s je možda nastavljen na ovom dijelu arhive: zaglavlje sadrži skraćeno ime"
 
-#: src/buffer.c:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s nije nastavljen na ovom dijelu arhive"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je pogrešne veličine (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ovaj dio arhive je izvan niza (%s - %s != %s)"
 
 # FIXME -- clean against source! (TM)
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiva nije označena da odgovara %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Dio arhive %s ne odgovara %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -827,7 +844,7 @@ msgstr ""
 "%s: ime datoteke je predugačko za spremanje u GNU višedjelnom zaglavlju, "
 "skraćujem"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "pisanje nije završilo na granici bloka"
 
@@ -839,20 +856,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Sadržaji se razlikuju"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Neočekivani EOF u arhivi"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Vrste datoteka se razlikuju"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Mod se razlikuje"
 
@@ -868,7 +885,7 @@ msgstr "Gid se razlikuje"
 msgid "Mod time differs"
 msgstr "Vrijeme uređivanja se razlikuje"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Veličina se razlikuje"
 
@@ -877,38 +894,37 @@ msgstr "Veličina se razlikuje"
 msgid "Not linked to %s"
 msgstr "Nije povezan na %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Simbolička veza se razlikuje"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Broj uređaja se razlikuje"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Provjeri "
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
-msgstr ""
-"%s: Nepoznata vrsta datoteke „%c”, izvršen diff kao na normalnoj datoteci"
+msgstr "%s: Nepoznata vrsta datoteke „%c“, kompariran kao normalna datoteka"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arhiva sadrži imena datoteka s uklonjenim početnim prefiksima."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Arhiva sadrži pretvorena imena datoteka."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Provjera možda neće uspjeti pronaći izvorne datoteke."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -916,47 +932,47 @@ 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Izolirani nulti blok na %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: sadrži oznaku direktorija spremnika %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "vrijednost %s izvan %s raspona %s..%s; mijenjam sa %s"
 
-#: src/create.c:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Stvaram negativna oktalna zaglavlja"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
-msgstr "%s: ime datoteke je predugačko (najviše %d); ne arhiviram"
+msgstr "%s: ime datoteke je predugo (najviše %d); ne arhiviram"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: ime datoteke je predugačko (ne može se razdvojiti); ne arhiviram"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
-msgstr "%s: ime veze je predugačko; ne arhiviram"
+msgstr "%s: ime veze je predugo; ne arhiviram"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -964,55 +980,55 @@ 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: datoteka je na drugom datotečnom sustavu; ne arhiviram"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "sadržaj nije arhiviran"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Nepoznata vrsta datoteke; datoteka zanemarena"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Nedostaju veze na %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: datoteka nepromijenjena; ne arhiviram"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: datoteka je arhiva; ne arhiviram"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "direktorij nije arhiviran"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: datoteka se promijenila za vrijeme čitanja"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: utičnica zanemarena"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: vrata zanemarena"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Preskačem na sljedeće zaglavlje"
 
@@ -1030,55 +1046,55 @@ msgstr "%s: nevjerojatno stara vremenska oznaka %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: vremenska oznaka %s je %s sekundi u budućnosti"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Neočekivana nekonzistentnost pri izradi direktorija"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s:  propuštanje postojeće datoteke"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s: Direktoriju promijenjeno ime prije ekstrakcije njegovog stanja"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Ekstrahiram neprekinute datoteke kao obične datoteke"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Pokušavam ekstrakciju simboličkih veza kao čvrstih veza"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Neočekivano zaglavlje dugačkog imena"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "%s: Nepoznata vrsta datoteke â\80\9e%câ\80\9d, ekstrahirana kao normalna datoteka"
+msgstr "%s: Nepoznata vrsta datoteke â\80\9e%câ\80\9c, ekstrahirana kao normalna datoteka"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Trenutni %s je noviji ili jednako star"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Nisam uspio napraviti kopiju ove datoteke"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Ne mogu preimenovati %s u %s"
@@ -1094,9 +1110,9 @@ msgid "%s: Directory is new"
 msgstr "%s: Novi direktorij"
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: datoteka je na drugom datotečnom sustavu; ne arhiviram"
+msgstr "%s: direktorij je na drugom datotečnom sustavu; ne arhiviram"
 
 #: src/incremen.c:587
 #, c-format
@@ -1108,7 +1124,6 @@ msgid "Invalid time stamp"
 msgstr "Neispravna vremenska oznaka"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
 msgstr "Neispravno vrijeme uređivanja (sekunde)"
 
@@ -1127,131 +1142,135 @@ msgstr "Neispravan broj indeksnog čvora (inode)"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: bajt %s: %s %.*s... predug"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Neočekivani EOF u datoteci snimke stanja"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: bajt %s: %s %s praćen s neispravnim bajtom 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: bajt %s: (valjan raspon %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: bajt %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: bajt %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Nedostaje kraj zapisa"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Neispravan inkrementalni oblik datoteke"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nepodržana inačica inkrementalnog oblika: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr "IzobliÄ\8den direktorij za ispis: oÄ\8dekujem â\80\9e%câ\80\9d, pronašao %#3o"
+msgstr "IzobliÄ\8den direktorij za ispis: oÄ\8dekujem â\80\9e%câ\80\9c, pronašao %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr "IzobliÄ\8den direktorij za ispis: â\80\9e\80\9d udvostručen"
+msgstr "IzobliÄ\8den direktorij za ispis: â\80\9e\80\9c udvostručen"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "IzobliÄ\8den direktorij za ispis: prazno ime u â\80\9e\80\9d"
+msgstr "IzobliÄ\8den direktorij za ispis: prazno ime u â\80\9e\80\9c"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr "Izobličen direktorij za ispis: prije „T” ne dolazi „R”"
+# bp: Malformed > Nepravilan
+# prije „T“ ne dolazi „R“ > „T“ ne prethodi „R“
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
+msgstr "Nepravilan direktorij za ispis: „T“ ne prethodi „R“"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Izobličen direktorij za ispis: prazno ime u „T”"
+msgstr "Nepravilan direktorij za ispis: prazno ime u „T“"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr "Izobličen direktorij za ispis: očekujem „%c”, pronašao kraj podataka"
+msgstr "Nepravilan direktorij za ispis: očekujem „%c“, pronašao kraj podataka"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
-msgstr "Izobličen direktorij za ispis: „X” se uopće ne koristi"
+msgstr "Nepravilan direktorij za ispis: „X“ se uopće ne koristi"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Ne mogu napraviti privremeni direktorij korištenjem predloška %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Ne uklanjam direktorij: ne mogu izvršiti stat"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: datoteka je na drugom uređaju: ne uklanjam"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Brišem %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ne mogu ukloniti"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Izostavljam"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok ispunjen NUL-znakovima **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Kraj datoteke **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1259,90 +1278,90 @@ msgstr ""
 "komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Oktalna vrijednost iz arhive %.*s je izvan %s granica"
 
 # FIXME -- obsolescent -- TM
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiva sadrži zastarjela base-64 zaglavlja"
 
 # FIXME??
-#: src/list.c:852
+#: src/list.c:853
 #, 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 granica"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 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:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Vrijednost %s iz arhive je izvan %s raspona %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " veza na %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nepoznata vrsta datoteke %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Dugačka veza--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Dugačko ime--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Zaglavlje dijela arhive--\n"
 
 # FIXME -- clarify against source -- TM
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Nastavljeno na bajtu %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Stvaram direktorij:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Mijenjam ime %s u %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Ne mogu preimenovati u %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Mijenjam ime %s natrag u %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Datoteka uklonjena prije nego što smo ju pročitali"
@@ -1355,31 +1374,203 @@ msgstr "proces dijete"
 msgid "interprocess channel"
 msgstr "međuprocesni kanal"
 
-#: src/names.c:360
-#, fuzzy
+# bp: možda Izbor imena lokalne datoteke
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Odabir lokalnih datoteka:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "promijeni u direktorij DIR"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "otkrij imena za otpakiranje ili napravi iz DATOTEKE"
+
+# bp: čita s  NULL završena imena....
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T čita praznim znakom završena imena, implicira --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "onemogući utjecaj prethodne opcije --null"
+
+# original TK: ukloni navode imena datoteka pročitanih s -T (zadano)
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "ukloni navodnike s imena datoteka ili članova (zadano)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "ne uklanjaj navodnike s imena datoteka ili članova"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T doslovno čita nazive datoteka (ne gleda na opcije)"
+
+# bp: novi prijevod, stari fuziran.
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr "-T tretira nazive datoteka koji počinju s „-“ kao opcije (zadano)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "UZORAK"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "izostavi datoteke koje odgovaraju UZORKU"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "izostavi uzorke navedene u DATOTECI"
+
+#: src/names.c:95
+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/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "izostavi sve unutar direktorija koji sadrže CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "izostavi direktorije koji sadrže CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "izostavi sadržaj direktorija koji sadrži DATOTEKU osim nje same"
+
+# bp: novi msgid; možda treba FILE ne prevađati?
+# TK: FILE mijenja u DATOTEKA
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+"čitaj iz DATOTEKE uzorke izuzeća za svaki direktorij, ako DATOTEKA postoji"
+
+# bp: novi msgid
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"čitaj iz DATOTEKE uzorke izuzeća za svaki direktorij i njegove "
+"poddirektorije, ako DATOTEKA postoji"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "izostavi sve iz direktorija koji sadrže DATOTEKU"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "izostavi direktorije koji sadrže DATOTEKU"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "izostavi sustavske direktorije kontrole inačice"
+
+# bp: novi msgid
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "čitaj uzorke izuzeća iz VCS „ignore“ datoteka"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "izostavi sigurnosne kopije i datoteke zaključavanja"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "rekurzivno uđi u direktorije (zadano)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "izbjegavaj automatsko spuštanje u direktorije"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "uzorci podudaraju početak naziva datoteke"
+
+# bp: novi msgid
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "uzorci podudaraju iza svakog „/“ (zadano za izuzeća)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "zanemari veličinu slova"
+
+# bp: novi msgid
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "podudaranje razlikuje mala/velika slova (zadano)"
+
+# bp: novi msgid
+# u wget.po naišao sam da je „wildcard“ višeznačnik, pa ga ovdje koristim.
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "upotrijebi višeznačnike (zadano za izuzeća)"
+
+# bp: novi msgid
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "doslovno podudaranje znakovnog niza (string)"
+
+# bp: novi msgid
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "višeznačnici podudaraju „/“ (zadano za izuzeća)"
+
+# originalno TK: Dio arhive %s ne odgovara %s
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "višeznačnici ne podudaraju „/“"
+
+# original TK naredba %s nije uspjela
+#: src/names.c:768
 msgid "command line"
-msgstr "naredba %s nije uspjela"
+msgstr "naredbeni redak"
 
-#: src/names.c:378
-#, fuzzy, c-format
+# original TK %s: popis datoteka je već pročitan
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: popis datoteka je već pročitan"
+msgstr "%s: zatražen popis datoteka od %s je već pročitan %s"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
+# original TK ne mogu postaviti vrijeme na „%s“
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "ne mogu postaviti vrijeme na „%s”"
+msgstr "niz (string) „%s“: %s ne može se rastavit"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: pročitano ime datoteke sadrži prazan znak"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Znakovi za uspoređivanje uzoraka korišteni u imenima datoteka"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1387,57 +1578,56 @@ msgstr ""
 "Koristite --wildcards za omogućavanje uspoređivanja uzoraka ili --no-"
 "wildcards za potiskivanje ovog upozorenja"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nije pronađen u arhivi"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Potrebna pojava nije pronađen u arhivi"
 
 # FIXME -- clean against source! (TM)
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Oznaka arhive ne odgovara"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Samo jedna opcija -C je dozvoljena uz --listed-incremental"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Opcije â\80\9e-%sâ\80\9d i â\80\9e-%sâ\80\9d obje zahtijevaju standardni ulaz"
+msgstr "Opcije â\80\9e-%sâ\80\9c i â\80\9e-%sâ\80\9c obje zahtijevaju standardni ulaz"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Neispravan oblik arhive"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU mogućnosti zatražene na nekompatibilnom obliku arhive"
 
-#: src/tar.c:264
-#, fuzzy, c-format
+#: src/tar.c:265
+#, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
-"Nepoznat stil navoÄ\91enja â\80\9e%sâ\80\9d. PokuÅ¡ajte â\80\9e%s --quoting-style=helpâ\80\9d za prikaz "
+"Nepoznat stil navoÄ\91enja â\80\9e%sâ\80\9c. PokuÅ¡ajte â\80\9e%s --quoting-style=helpâ\80\9c za prikaz "
 "popisa."
 
-#: src/tar.c:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1447,7 +1637,7 @@ 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 â\80\9etarâ\80\9d sprema više datoteka u arhivu na vrpci ili disku i može vratiti "
+"GNU â\80\9etarâ\80\9c sprema više datoteka u arhivu na vrpci ili disku i može vratiti "
 "pojedinačne datoteke iz arhive.\n"
 "\n"
 "Primjeri:\n"
@@ -1455,8 +1645,7 @@ msgstr ""
 "  %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:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1478,80 +1667,90 @@ msgstr ""
 "                    inače jednostavne\n"
 "  never, simple   uvijek radi jednostavne sigurnosne kopije\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Glavni način rada:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "ispiši sadržaj arhive"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "ekstrahiraj datoteke iz arhive"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "napravi novu arhivu"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "nađi razlike između arhive i datotečnog sustava"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "dodaj datoteke na kraj arhive"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "dodaj samo datoteke novije od kopije u arhivi"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "dodaj tar datoteke u arhivu"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "izbriši iz arhive (ne na magnetskim vrpcama!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "provjeri oznaku dijela arhive i izađi"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modifikatori operacija:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "učinkovito upravljaj raštrkanim datotekama"
 
-#: src/tar.c:448
+# bp: novi msgid
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "Metoda"
+
+# bp: novi msgid
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "metoda za otkrivanje rupa"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "GLAVNI[.SPOREDNI]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "upravljaj inkrementalnim sigurnosnim kopijama starog GNU oblika"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "upravljaj inkrementalnim sigurnosnim kopijama novog GNU oblika"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "razina ispisa za stvorene ispisane-inkrementalne arhive"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "ne izlazi s kodom različitim od nule u slučaju nečitljivih datoteka"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1563,138 +1762,155 @@ msgstr ""
 "--list te kad je popis datoteka naveden u naredbenom retku ili uz opciju -T. "
 "BROJ je uobičajeno 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "arhiva se može pretraživati"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "arhiva se ne može pretraživati"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "ne provjeravaj brojeve uređaja pri stvaranju inkrementalnih arhiva"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "provjeri brojeve uređaja pri stvaranju inkrementalnih arhiva (zadano)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Upravljanje prepisivanjem:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "pokušaj provjeriti arhivu nakon pisanja u nju"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "ukloni datoteke nakon dodavanja u arhivu"
 
-#: src/tar.c:485
-#, fuzzy
+# bp: fuzirano
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji"
+msgstr ""
+"ne zamjenjuj postojeće datoteke pri ekstrakciji, tretiraj ih kao pogreške"
 
-#: src/tar.c:488
-#, fuzzy
+# bp: fuzirano, dodano
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji"
+msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji, tiho ih preskoči"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "ne zamjenjuj postojeće datoteke novije od kopija u arhivi"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "prepiši postojeće datoteke pri ekstrakciji"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "ukloni svaku datoteku prije ekstrakcije preko nje"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "isprazni hijerarhije prije ekstrahiranja direktorija"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "očuvaj metapodatke postojećih direktorija"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "prepiši metapodatke postojećih direktorija pri ekstrakciji (zadano)"
 
-#: src/tar.c:504
-#, fuzzy
+# original TK prepiši postojeće datoteke pri ekstrakciji
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "prepiši postojeće datoteke pri ekstrakciji"
+msgstr "očuvaj postojeće simboličke veze na direktorije prilikom ekstrahiranja"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
-
-#: src/tar.c:507
+# bp: novi msgid
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
+"napravi poddirektorij radi izbjegavanja gubitka datoteka prilikom "
+"ekstrahiranja"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Odaberi izlazni tok podataka:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "ekstrahiraj datoteke na standardni izlaz"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "NAREDBA"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "proslijedi ekstrahirane datoteke drugom programu kroz cjevovod"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "zanemari izlazne kodove djece"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "postupaj s izlaznim kodovima djece različitim od nule kao s greškama"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Upravljanje svojstvima datoteka:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "prisilno postavi IME kao vlasnika dodanih datoteka"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "prisilno postavi IME kao grupu dodanih datoteka"
 
-#: src/tar.c:533 src/tar.c:768
+# bp: novi msgid
+# FILE u DATOTEKA, jer je TK to radio ranije
+# bp: možda je bolje ne prevoditi FILE
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "upotrijebi DATOTEKU za usporedbu UID-ova vlasnika datoteke i imena"
+
+# bp: novi msgid
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "upotrijebi DATOTEKU za usporedbu GID-ova i imena"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ILI-DATOTEKA"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "postavi mtime dodanih datoteka iz DATUM-ILI-DATOTEKA"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "PROMJENE"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "prisili (simboličke) PROMJENE moda dodanih datoteka"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODA"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1704,11 +1920,11 @@ msgstr ""
 "čitanja (METODA='replace'; zadano), ili ne postavljanjem vremena "
 "(METODA='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "ne ekstrahiraj vrijeme uređivanja datoteke"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1716,19 +1932,19 @@ msgstr ""
 "pokušaj ekstrahirati datoteke s istim vlasništvom kakvo je u arhivi (zadano "
 "za administratora)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "otpakiraj datoteke kao trenutni korisnik (zadano za obične korisnike)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "uvijek koristi brojke za imena korisnika/grupe"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "izdvoji informacije o dozvolama datoteka (zadano za administratora)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1736,16 +1952,13 @@ msgstr ""
 "primijeni korisnički umask pri ekstrakciji dozvola iz arhive (zadano za "
 "obične korisnike)"
 
-#: src/tar.c:557
+# bp: novi msgid
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
-msgstr ""
+msgstr "članovi argument su navedeni u istom poretku kao datoteke u arhivi"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "isto kao -p i -s zajedno"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1753,189 +1966,193 @@ msgstr ""
 "odgodi postavljanje vremena uređivanja i dozvola ekstrahiranih direktorija "
 "do kraja ekstrakcije"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "poništi utjecaj opcije --delay-directory-restore"
 
-#: src/tar.c:567
+# bp: novi msgid
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "POREDAK"
 
-#: src/tar.c:571
+# bp: novi msgid
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "sortiranje direktorija: none (zadano) ili „name“"
 
-#: src/tar.c:578
-#, fuzzy
+# bp: fuzirano; dodano
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr "Upravljanje svojstvima datoteka:"
+msgstr "Upravljanje proširenim svojstvima datoteka:"
 
-#: src/tar.c:581
+# bp: novi msgid
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Omogući podršku za proširenje svojstava datoteka"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Onemogući podršku za proširenje svojstava datoteka"
 
-#: src/tar.c:584 src/tar.c:586
+# bp: sljedećih sedam novih mgsgid-ova
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MASKA"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "specificiraj uključenje uzorak za xattr ključeve"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "specificiraj izuzeće uzorak za xattr ključeve"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Omogući podršku za SELinux kontekst"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Onemogući podršku za SELinux kontekst"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Omogući podršku za  POSIX ACLs"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Onemogući podršku za  POSIX ACLs"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Odabir i zamjena uređaja:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARHIVA"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "koristi datoteku ili uređaj ARHIVA"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "datoteka arhive je lokalna iako sadrži dvotočje"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "koristi navedenu rmt NAREDBU umjesto rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "koristi udaljenu NAREDBU umjesto rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "navedi uređaj i gustoću"
 
 # FIXME -- volume -- find more suitable (ask others) -- TM
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "napravi/ispiši/ekstrahiraj višedjelnu arhivu"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "promijeni vrpcu nakon zapisivanja BROJ x 1024 bajtova"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "pokreni skriptu na kraju svake vrpce (podrazumijeva -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "koristi/ažuriraj broj dijela arhive u DATOTECI"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Podjela uređaja u blokove:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKOVI"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKOVI x 512 bajtova po zapisu"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "BROJ bajtova po zapisu, višekratnik 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "zanemari blokove u arhivi pretvorene u nulu (znači EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "ponovo napravi blokove pri čitanju (za 4.2BSD cjevovode)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Odabir oblika arhive:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "OBLIK"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "stvori arhivu zadanog oblika"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "OBLIK je jedan od sljedećih:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "stari V7 tar oblik"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU oblik za tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x oblik"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) oblik"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) oblik"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "isto kao pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "isto kao --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "isto kao --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ključna_riječ[[:]=vrijednost][,ključna_riječ[[:]=vrijednost]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "kontrolne pax ključne riječi"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEKST"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1943,280 +2160,139 @@ msgstr ""
 "Napravi arhivu s imenom dijela arhive TEKST. Pri ispisu/otpakiranju koristi "
 "TEKST za traženje uzorka za ime dijela arhive."
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Opcije kompresije:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "koristi sufiks arhive za određivanje programa za kompresiju"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "ne koristi sufiks arhive za određivanje programa za kompresiju"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROGRAM"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtriraj kroz PROGRAM (mora prihvaćati -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Odabir lokalnih datoteka:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "promijeni u direktorij DIR"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "otkrij imena za otpakiranje ili napravi iz DATOTEKE"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T čita praznim znakom završena imena, onemogućuje -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "onemogući utjecaj prethodne opcije --null"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "ukloni navode imena datoteka pročitanih s -T (zadano)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "ne uklanjaj navode imena datoteka pročitanih s -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "UZORAK"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "izostavi datoteke koje odgovaraju UZORKU"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "izostavi uzorke navedene u DATOTECI"
-
-#: src/tar.c:728
-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:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "izostavi sve unutar direktorija koji sadrže CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "izostavi direktorije koji sadrže CACHEDIR.TAG"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "izostavi sadržaj direktorija koji sadrži DATOTEKU osim nje same"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "izostavi sve iz direktorija koji sadrže DATOTEKU"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "izostavi direktorije koji sadrže DATOTEKU"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "izostavi sustavske direktorije kontrole inačice"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "izostavi sigurnosne kopije i datoteke zaključavanja"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "izbjegavaj automatsko spuštanje u direktorije"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "ostani u lokalnom datotečnom sustavu pri stvaranju arhive"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "rekurzivno uđi u direktorije (zadano)"
-
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
-msgstr "ne uklanjaj poÄ\8detne â\80\9e\80\9d iz imena datoteka"
+msgstr "ne uklanjaj poÄ\8detne â\80\9e\80\9c iz imena datoteka"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "slijedi simboličke veze; arhiviraj i ispiši datoteke na koje pokazuju"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "slijedi čvrste veze; arhiviraj i ispiši datoteke na koje se odnose"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "IME-ELEMENTA"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "započni s elementom IME-ELEMENTA u arhivi"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "spremi samo datoteke novije od DATUM-ILI-DATOTEKA"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "usporedi datum i vrijeme samo ako su podaci promijenjeni"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "KONTROLA"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "napravi sigurnosnu kopiju prije uklanjanja, odaberi KONTROLU inačice"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "NIZ"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
-"napravi sigurnosnu kopiju prije uklanjanja, zamijeni uobiÄ\8dajeni sufiks (â\80\9e\80\9d "
+"napravi sigurnosnu kopiju prije uklanjanja, zamijeni uobiÄ\8dajeni sufiks (â\80\9e\80\9c "
 "osim ako je promijenjen varijablom okoline SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Pretvaranja imena datoteka:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "ukloni BROJ vodećih komponenti iz imena datoteka pri otpakiranju"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "IZRAZ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "koristi sed zamjenu IZRAZA za promjenu imena datoteka"
 
-#: src/tar.c:792
-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:795
-msgid "ignore case"
-msgstr "zanemari veličinu slova"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "Dio arhive %s ne odgovara %s"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informativni izlaz:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "opširno ispiši obrađene datoteke"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "KLJUČNA_RIJEČ"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "kontrola upozorenja"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "prikaži poruke o napretku svakih BROJ zapisa (zadano 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "RADNJA"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "izvrši RADNJU na svakoj kontrolnoj točki"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "ispiši poruku ako nisu ispisane sve veze"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2228,35 +2304,36 @@ msgstr ""
 "SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. Također se prihvaćaju imena bez prefiksa "
 "SIG."
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "ispiši vremena uređivanja datoteka u UTC-u"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "ispiši potpunu rezoluciju vremena datoteke"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "pošalji opširan izlaz u DATOTEKU"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "prikaži broj bloka u arhivi uz svaku poruku"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "traži potvrdu svake radnje"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "prikaži zadane postavke za tar"
 
-#: src/tar.c:847
+# bp: novi msgid
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "prikaži valjane raspone za snapshot-datoteke polja"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2264,32 +2341,32 @@ msgstr ""
 "pri ispisu ili ekstrakciji, ispiši svaki direktorij koji ne odgovara "
 "uvjetima pretraživanja"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "prikaži imena datoteke ili arhive nakon pretvaranja"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "dodatno navedi znakove iz NIZA"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "onemogući navođenje za znakove iz NIZA"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Opcije kompatibilnosti:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2297,56 +2374,65 @@ msgstr ""
 "pri stvaranju, isto kao --old-archive; pri ekstrahiranju, isto kao --no-same-"
 "owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Ostale opcije:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "onemogući korištenje nekih potencijalno opasnih opcija"
 
-#: src/tar.c:1010
-#, fuzzy
+# bp: fuziran, dotjeran
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: ne može se koristiti s %s"
+
+# bp: fuziran, dodana
+#: src/tar.c:934
 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”"
+"Ne možete navesti više od jedne od opcija „-Acdtrux“, „--delete“ ili „--test-"
+"label“"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konfliktne opcije komprimiranja"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nepoznato ime signala: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Datoteka s primjerom datuma nije pronađena"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Mijenjam %s za nepoznat oblik datuma %s"
 
-#: src/tar.c:1140
-#, fuzzy, c-format
+#: src/tar.c:1066
+#, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr "Opcija %s: Postupam s datumom â\80\9e%sâ\80\9d kao %s"
+msgstr "Opcija %s: Postupam s datumom â\80\9e%sâ\80\9c kao %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtriraj arhivu kroz %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Ispravni argumenti opcije --quoting-style su:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2354,117 +2440,125 @@ msgstr ""
 "\n"
 "Uobičajeno ponašanje *ovog* programa tar je:\n"
 
-#: src/tar.c:1330
-#, fuzzy
+# bp: fuzirano, dodano
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
-msgstr "Neispravan vlasnik"
+msgstr "Neispravan vlasnik ili grupni ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Neispravan faktor pakiranja u blokove"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Neispravna duljina vrpce"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Neispravna vrijednost inkrementalne razine"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Više od jednog datuma praga"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Neispravna vrijednost raštrkane inačice"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' nije podržan na ovoj platformi"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "vrijednost --checkpoint nije cjelobrojna"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Neispravan mod naveden opcijom"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Neispravan broj"
 
-#: src/tar.c:1982
-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:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Pogrešna veličina zapisa"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Veličina sloga mora biti višekratnik %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Neispravan broj elemenata"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Dozvoljena je samo jedna opcija --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Izobličen argument gustoće: %s"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
-msgstr "Nepoznata gustoÄ\87a: â\80\9e%câ\80\9d"
+msgstr "Nepoznata gustoÄ\87a: â\80\9e%câ\80\9c"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "*Ovaj* tar ne podržava opcije „-[0-7][lmh]”"
+msgstr "*Ovaj* tar ne podržava opcije „-[0-7][lmh]“"
+
+# bp: novi msgid
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: mjesto greške"
+
+# bp: fuzirano, dotjerano
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "greška u analiziranju „%s“"
 
-#: src/tar.c:2235
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[DATOTEKA]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Uzorak %s se ne može koristiti"
+# bp: fuzirano, popravljeno
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "neispravan argument u %s"
+
+# bp: novi msgid
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "ne mogu rastaviti TAR_OPTIONS: %s"
 
-#: src/tar.c:2389
-#, fuzzy, c-format
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
-msgstr "Stara opcija â\80\9e%câ\80\9d zahtijeva argument."
+msgstr "Stara opcija â\80\9e%câ\80\9c zahtijeva argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence nema smisla bez popisa datoteka"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
-msgstr "ViÅ¡edjelne arhive zahtijevaju opciju â\80\9e-Mâ\80\9d"
+msgstr "ViÅ¡edjelne arhive zahtijevaju opciju â\80\9e-Mâ\80\9c"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level nema smisla bez --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2472,75 +2566,83 @@ 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)"
 
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Ne mogu provjeriti višedjelne arhive"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Ne mogu provjeriti komprimirane arhive"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ne mogu koristiti višedjelne komprimirane arhive"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Ne mogu spojiti komprimirane arhive"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option se može koristiti samo na POSIX arhivama"
 
-#: src/tar.c:2560
-#, fuzzy
+# bp: fuzirano, popravljeno
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr "--pax-option se može koristiti samo na POSIX arhivama"
+msgstr "--acls se može koristiti samo na POSIX arhivama"
 
-#: src/tar.c:2565
-#, fuzzy
+# bp: fuzirano, popravljeno
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr "--pax-option se može koristiti samo na POSIX arhivama"
+msgstr "--selinux se može koristiti samo na POSIX arhivama"
 
-#: src/tar.c:2570
-#, fuzzy
+# bp: fuzirano, popravljeno
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "--pax-option se može koristiti samo na POSIX arhivama"
+msgstr "--xattrs se može koristiti samo na POSIX arhivama"
 
-#: src/tar.c:2597
+# bp: novi msgid
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Ne mogu odrediti naziv najvišeg direktorija; zadajte ga eksplicitno s --one-"
+"top-level=DIR"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Duljina dijela arhive ne može biti manja od veličine zapisa"
 
 # LOL -- TM
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Kukavički odbijam napraviti praznu arhivu"
 
-#: src/tar.c:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
-msgstr "Opcije â\80\9e-Aruâ\80\9d nisu kompatibilne s â\80\9e-f -â\80\9d"
+msgstr "Opcije â\80\9e-Aruâ\80\9c nisu kompatibilne s â\80\9e-f -â\80\9c"
 
-#: src/tar.c:2766
-#, fuzzy
+# bp: fuzirano, popravljeno
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Morate navesti jednu od opcija „-Acdtrux” ili „--test-label”"
+msgstr ""
+"Morate navesti jednu od opcija „-Acdtrux“, „--delete“ ili „--test-label“"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Izlazim sa stanjem neuspjeha zbog prethodnih grešaka"
 
-#: src/tar.c:569
+# bp: novi msid
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "sortiranje direktorija: none (zadano), „name“ ili „inode“"
 
 #: src/update.c:87
 #, c-format
@@ -2591,11 +2693,11 @@ msgid "Malformed extended header: missing newline"
 msgstr "Izobličeno prošireno zaglavlje: nedostaje novi redak"
 
 #: src/xheader.c:741
-#, fuzzy, c-format
+#, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr "Zanemarujem nepoznatu kljuÄ\8dnu rijeÄ\8d proÅ¡irenog zaglavlja â\80\9e%sâ\80\9d"
+msgstr "Zanemarujem nepoznatu kljuÄ\8dnu rijeÄ\8d proÅ¡irenog zaglavlja â\80\9e%sâ\80\9c"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2604,28 +2706,28 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Prošireno zaglavlje %s=%s je izvan raspona %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Izobličeno prošireno zaglavlje: neispravan %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Izobličeno prošireno zaglavlje: suvišan %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2667,7 +2769,7 @@ msgstr "Kontrolna točka pisanja %u"
 msgid "Read checkpoint %u"
 msgstr "Kontrolna točka čitanja %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2675,70 +2777,74 @@ msgstr ""
 "genfile rukuje podatkovnim datotekama GNU paxutils skupa testova.\n"
 "OPCIJE su:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Opcije stvaranja datoteka:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "VELIČINA"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Napravi datoteku navedene VELIČINE"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Piši u datoteku IME umjesto na standardni izlaz"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Čitaj imena datoteka iz DATOTEKE"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T čita imena završena praznim (null) znakom"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
-msgstr "Popuni datoteku navedenim UZORKOM. UZORAK je â\80\9edefaultâ\80\9d ili â\80\9ezerosâ\80\9d"
+msgstr "Popuni datoteku navedenim UZORKOM. UZORAK je â\80\9edefaultâ\80\9c ili â\80\9ezerosâ\80\9c"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Veličina bloka za raštrkanu datoteku"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 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
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "POMAK"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Idi na zadani pomak prije pisanja podataka"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Opcije statistike datoteka:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 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
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Opcije sinkronog izvršavanja:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPCIJA"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2746,20 +2852,20 @@ msgstr ""
 "Izvrši ARGUMENTE. Korisno uz --checkpoint i jednu od opcija --cut, --append, "
 "--touch, --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 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
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Postavi datum za sljedeću opciju --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Prikaži izvršene kontrolne točke i izlazno stanje NAREDBE"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2767,7 +2873,7 @@ msgstr ""
 "Radnje sinkronog izvršavanja. One se izvršavaju kad se dostigne broj "
 "kontrolne točke zadan opcijom --checkpoint."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2775,167 +2881,166 @@ msgstr ""
 "Skrati DATOTEKU na veličinu zadanu prethodnom opcijom --length (ili 0 ako "
 "nije zadano)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 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
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Ažuriraj vrijeme pristupa i uređivanja DATOTEKE"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Izvrši NAREDBU"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Ukloni vezu DATOTEKE"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Neispravna veličina: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Broj izvan dozvoljenih granica: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativna veličina: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) nije uspio"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "tražena duljina datoteke %lu, stvarna %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "stvorena datoteka nije raštrkana"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
-msgstr "GreÅ¡ka analize broja kod â\80\9e%sâ\80\9d"
+msgstr "GreÅ¡ka analize broja kod â\80\9e%sâ\80\9c"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Nepoznat oblik datuma"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENTI...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
-msgstr "ne mogu otvoriti â\80\9e%sâ\80\9d"
+msgstr "ne mogu otvoriti â\80\9e%sâ\80\9c"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "ne mogu tražiti"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "ime datoteke sadrži prazan (null) znak"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr "netoÄ\8dna maska (kod â\80\9e%sâ\80\9d)"
+msgstr "netoÄ\8dna maska (kod â\80\9e%sâ\80\9c)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
-msgstr "Nepoznato polje â\80\9e%sâ\80\9d"
+msgstr "Nepoznato polje â\80\9e%sâ\80\9c"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "ne mogu postaviti vrijeme na â\80\9e%sâ\80\9d"
+msgstr "ne mogu postaviti vrijeme na â\80\9e%sâ\80\9c"
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+# bp: fuzirano.
+# možda je „vezu“ suvišna
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "ne mogu ukloniti vezu â\80\9e%sâ\80\9d"
+msgstr "ne mogu ukloniti vezu â\80\9e%sâ\80\9c"
 
-#: tests/genfile.c:701
-#, fuzzy, c-format
+#: tests/genfile.c:769
+#, c-format
 msgid "command failed: %s"
 msgstr "naredba %s nije uspjela"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
-msgstr "ne mogu ukloniti vezu â\80\9e%sâ\80\9d"
+msgstr "ne mogu ukloniti vezu â\80\9e%sâ\80\9c"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Izlaz naredbe uspješan\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Naredba nije uspjela sa stanjem %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Naredba završena signalom %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Naredba zaustavljena signalom %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Naredba je izbacila jezgru\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Naredba završena\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat zahtijeva imena datoteka"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "razvrstaj imena za ekstrakciju da odgovaraju arhivi"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence se ne može koristiti u traženom načinu rada"
+#~ msgid "same as both -p and -s"
+#~ msgstr "isto kao -p i -s zajedno"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Ne mogu kombinirati --listed-incremental s --newer"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order nije kompatibilno s --listed-incremental"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Opcija --preserve je zastarjela, koristite --preserve-permissions --"
+#~ "preserve-order umjesto nje"
 
 #~ msgid "Field too long while reading snapshot file"
 #~ msgstr "Polje predugačko pri čitanju datoteke snimke stanja"
@@ -2949,9 +3054,21 @@ msgstr "--stat zahtijeva imena datoteka"
 #~ msgid "Cannot get working directory"
 #~ msgstr "Ne mogu saznati trenutni radni direktorij"
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "razvrstaj imena za ekstrakciju da odgovaraju arhivi"
+
 #~ msgid "Invalid group"
 #~ msgstr "Neispravna grupa"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "--occurrence se ne može koristiti u traženom načinu rada"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Ne mogu kombinirati --listed-incremental s --newer"
+
+#~ msgid "--preserve-order is not compatible with --listed-incremental"
+#~ msgstr "--preserve-order nije kompatibilno s --listed-incremental"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "Duljina proširenog zaglavlja je izvan dozvoljenih granica"
 
index 60bcb4539df7c9eafa57ed6b69d2679539546a18..28f19a77c477a2a4428e049651c1f7767323bd61 100644 (file)
Binary files a/po/hu.gmo and b/po/hu.gmo differ
index 3d219bc747589176f9c0f6c7139f762c79fe9697..f5b818c2d78405e22a8fe397a64faf9443aef7d8 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -3,63 +3,64 @@
 # This file is distributed under the same license as the tar package.
 #
 # Gábor István <stive@mezobereny.hu>, 2002.
-# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010, 2014.
-#: src/create.c:1574
+# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010, 2014, 2016.
+# Balázs Úr <urbalazs@gmail.com>, 2015.
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.27\n"
+"Project-Id-Version: tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2014-04-04 20:22+0200\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-16 23:19+0100\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "Language: hu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.4\n"
+"X-Generator: Lokalize 1.5\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "a(z) „%s” argumentum érvénytelen a következőhöz: %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "a(z) „%s” argumentum nem egyértelmű a következőhöz: „%s”"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Az érvényes argumentumok a következők:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Ismeretlen ARGP_HELP_FMT paraméter"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Szemét az ARGP_HELP_FMT-ben: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -67,145 +68,150 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Használat:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  vagy: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [KAPCSOLÓ...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "A hibák a(z) %s címen jelenthetők.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Ismeretlen rendszerhiba"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "ezen súgószöveg megjelenítése"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 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:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NÉV"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "a program nevének beállítása"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "MP"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "szünet MP másodpercre (alapértelmezetten 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "a programverzió kiírása"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAMHIBA) A verziószám ismeretlen???"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: túl sok argumentum\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMHIBA) A kapcsolót fel kellett volna ismerni???"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "íráshiba"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű, lehetőségek:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, 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:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: a(z) „--%s” kapcsoló ismeretlen\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: a(z) „%c%s” kapcsoló ismeretlen\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: érvénytelen kapcsoló -- „%c”\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: a kapcsoló egy argumentumot igényel -- „%c”\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: a „-W %s” kapcsoló nem egyértelmű\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "elfogyott a memória"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "A munkakönyvtár nem jegyezhető fel"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "a visszatérés meghiúsult a kiinduló munkakönyvtárba"
@@ -231,11 +237,11 @@ msgstr "a visszatérés meghiúsult a kiinduló munkakönyvtárba"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "”"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "”"
 
@@ -245,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[iIyY]"
 
@@ -255,16 +261,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Csomagolta: %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Csomagolta: %s\n"
@@ -272,11 +278,11 @@ msgstr "Csomagolta: %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -293,19 +299,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Írta: %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Írta: %s és %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Írta: %s, %s és %s.\n"
@@ -313,7 +319,7 @@ msgstr "Írta: %s, %s és %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -325,7 +331,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -337,7 +343,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -349,7 +355,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -361,7 +367,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -375,7 +381,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -389,7 +395,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -404,7 +410,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -413,22 +419,22 @@ msgstr ""
 "\n"
 "A hibák a(z) %s címen jelenthetők.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "A(z) %s hibái a(z) %s címen jelenthetők.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "A(z) %s honlapja: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "A(z) %s honlapja: <http://www.gnu.org/software/%s/>.\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Általános segítség a GNU szoftverek használatához: <http://www.gnu.org/"
@@ -600,8 +606,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "SZÁM"
 
@@ -609,10 +615,11 @@ msgstr "SZÁM"
 msgid "set debug level"
 msgstr "hibakeresési szint beállítása"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FÁJL"
 
@@ -625,7 +632,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:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "túl sok argumentum"
@@ -634,113 +641,116 @@ msgstr "túl sok argumentum"
 msgid "Garbage command"
 msgstr "Értelmetlen parancs"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 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"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Olvasott bájtok teljes száma"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Kiírt bájtok teljes száma"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Törölt bájtok teljes száma: %s\n"
+msgstr "Törölt bájtok teljes száma"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(cső)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Az archívumtartalom olvasásának visszautasítása a terminálról (hiányzó -f "
+"kapcsoló?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Az archívumtartalom írásának visszautasítása a terminálra (hiányzó -f "
+"kapcsoló?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "A record_size értéke érvénytelen"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Nem adott meg archívumnevet"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nem ellenőrizhető az archívum, ha a szabványos be/kimenetet használja"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 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:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Tömörített archívumok nem frissíthetők"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "A szalag eleje, most kilépek"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Túl sok hiba, kilépek"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "az rmtlseek nem állt meg egy rekord határán"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: érvénytelen kötetszámot tartalmaz"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Kötetszám-túlcsordulás"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Fájlvége a várt felhasználói válasz helyett"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "FIGYELMEZTETÉS: Az archívum befejezetlen"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -751,67 +761,67 @@ msgstr ""
 " q          A Tar megszakítása\n"
 " y vagy újsor  A művelet folytatása\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !          Új parancsértelmező hívása\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?          Ezen lista kiírása\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Nincs új kötet, kilépés.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Nincs megadva fájlnév, próbálkozzon újra.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, 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:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "A(z) „%s” parancs meghiúsult"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s nem folytatódik ezen a köteten"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s nem folytatódik ezen a köteten"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s mérete hibás (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, 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:1632
+#: src/buffer.c:1664
 #, 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:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -819,7 +829,7 @@ 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:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "az írás nem egy rekord határán fejeződött be"
 
@@ -830,20 +840,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "A tartalom eltér"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Váratlan fájlvége jel az archívumban"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "A fájltípus eltér"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "A mód eltér"
 
@@ -859,7 +869,7 @@ msgstr "A Gid eltér"
 msgid "Mod time differs"
 msgstr "A módosítási idő eltér"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "A méret eltér"
 
@@ -868,142 +878,142 @@ msgstr "A méret eltér"
 msgid "Not linked to %s"
 msgstr "Nincs a következőre linkelve: %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "A szimbolikus link eltér"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Az eszközszám eltér"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Ellenőrzés "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 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:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Az archívum átalakított fájlneveket tartalmaz."
 
-#: src/compare.c:540
+#: src/compare.c:544
 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:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Egy magányos nulla blokk %s helyen"
 
-#: src/create.c:73
+#: src/create.c:74
 #, 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:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Negatív oktális fejlécek előállítása"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, 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:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "a tartalom nem került kiírásra"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, 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:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Hiányzó linkek a következőre: „%s”."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, 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:1721
+#: src/create.c:1739
 #, 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:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "a könyvtár nem került kiírásra"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: a fájl módosult olvasás közben"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: a foglalat figyelmen kívül hagyva"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: ajtó figyelmen kívül hagyva"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Ugrás a következő fejlécre"
 
@@ -1021,54 +1031,54 @@ msgstr "%s: valószínűtlenül régi időbélyeg: %s"
 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:536
+#: src/extract.c:535
 #, 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:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: meglévő fájl kihagyása"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "A folytonos fájlok kibontása normál fájlként"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 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:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Váratlan hosszú névfejléc"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "A jelenlegi „%s” újabb vagy egyező korú"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, 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:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Nem nevezhető át a következőre: %s"
@@ -1118,16 +1128,16 @@ msgstr "Érvénytelen inode-szám"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: %s bájt: %s %.*s... túl hosszú"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Váratlan fájlvége a pillanatképfájlban"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: %s bájt: %s %s után érvénytelen bájt áll: 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1136,119 +1146,119 @@ msgstr ""
 "%s: %s bájt: (érvényes tartomány: %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: %s bájt: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: %s bájt: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Hiányzó rekordlezáró"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Hibás növekményes fájlformátum"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nem támogatott növekményes formátumverzió: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, 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:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Rosszul formázott kiíratási könyvtár: az „X” többször szerepel"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 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:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Rosszul formázott kiíratási könyvtár: a „T”-t nem előzi meg az „R”"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 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:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 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:1658
+#: src/incremen.c:1662
 #, 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:1719
+#: src/incremen.c:1723
 #, 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:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s törlése\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: nem távolítható el"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: kihagyás"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blokk %s: ** A blokk üres **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blokk %s: ** Fájlvége **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blokk %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1256,88 +1266,88 @@ msgstr ""
 "feltételezi, hogy kettes komplemens"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Az archívum elavulófélben levő base-64-es fejléceket tartalmaz"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " link a következőre: %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ismeretlen fájltípus: %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Hosszú link--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Hosszú név--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Kötetfejléc--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Folytatva %s bájttól--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Könyvtár létrehozása:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s átnevezése a következőre: %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Nem nevezhető át a következőre: %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, 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:1101
+#: src/misc.c:1108
 #, 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"
@@ -1350,30 +1360,191 @@ msgstr "gyermekfolyamat"
 msgid "interprocess channel"
 msgstr "folyamatközi csatorna"
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Helyi fájlnévválasztás:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "KÖNYVTÁR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "váltás a KÖNYVTÁR könyvtárba"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "kibontandó nevek lekérdezése vagy létrehozás a FÁJLBÓL"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+"a -T nullal lezárt neveket olvas, következik belőle a --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "a korábbi --null kapcsoló hatásának letiltása"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"a bemeneti fájl vagy tagnevek idézettségének megszüntetése (alapértelmezett)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "ne szüntesse meg a bemeneti fájl vagy tagnevek idézettségét"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "a -T változatlan fájlneveket olvas (nincs kapcsolókezelés)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr "a -T a kötőjellel kezdődő fájlneveket kapcsolónak tekinti (alapeset)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MINTA"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "a MINTAKÉNT megadott fájlok kihagyása"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "a FÁJLBAN megadott minták kihagyása"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"a CACHEDIR.TAG-et tartalmazó könyvtárak tartalmának kihagyása, a címkefájl "
+"kivételével"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak alatt minden kihagyása"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak kihagyása"
+
+#: src/names.c:103
+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/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "kizáró minták olvasása minden egyes könyvtárhoz a FÁJLBÓL, ha létezik"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"kizáró minták olvasása minden egyes könyvtárhoz és annak alkönyvtáraihoz a "
+"FÁJLBÓL, ha létezik"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "a FÁJLT tartalmazó könyvtárak alatt minden kihagyása"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "a FÁJLT tartalmazó könyvtárak kihagyása"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "verziókezelő rendszer könyvtárainak kihagyása"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "kizárási minták olvasása a VCS ignore fájlokból"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "mentési és zárolási fájlok kihagyása"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "belépés a könyvtárakba rekurzívan (alapértelmezett)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "ne lépjen be automatikusan a könyvtárakba"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "a minták illesztése a fájlnevek elejére"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "a minták illesztése bármely „/” után (alapértelmezett kihagyáskor)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "kis- és nagybetűk figyelmen kívül hagyása"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "kis- és nagybetűkre érzékeny illesztés (alapértelmezett)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "helyettesítő karakterek használata (alapértelmezett kihagyáskor)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "szó szerinti karakterlánc-illesztés"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+"a helyettesítő karakterek illeszkednek a „/” jelre (alapértelmezett "
+"kihagyáskor)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "a helyettesítő karakterek nem illeszkednek a „/” jelre"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "parancssor"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: a(z) %s helyről kért fájllista már be van olvasva innen: %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "nem darabolható a(z) „%s” karakterlánc: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: a beolvasott fájlnév null karaktert tartalmaz"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Mintaillesztő karaktereket használt a fájlnevekben"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1381,48 +1552,47 @@ 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:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nem található az archívumban"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, 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:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Hibás archívumcímke"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Csak egy -C engedélyezett a --listed-incremental kapcsolóval"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, 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"
+msgstr "A(z) „%s” és a(z) „%s” kapcsolók mind a szabványos bemenetet igénylik"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Érvénytelen archívumformátum"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU szolgáltatásokat kértél inkompatibilis az archívumformátumokon"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1430,7 +1600,7 @@ 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:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1451,7 +1621,7 @@ msgstr ""
 "  tar -xf archívum.tar         # Kibontja az összes fájlt az archívum.tar\n"
 "                                   fájlból.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1473,81 +1643,89 @@ msgstr ""
 "                  egyébként egyszerű\n"
 "  never, simple   mindig egyszerű mentés létrehozása\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Fő működési mód:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "felsorolja egy archívum tartalmát"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "fájlok kibontása egy archívumból"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "új archívum létrehozása"
 
-#: src/tar.c:427
+#: src/tar.c:403
 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:430
+#: src/tar.c:406
 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:432
+#: src/tar.c:408
 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:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "tar fájlok hozzáfűzése egy archívumhoz"
 
-#: src/tar.c:437
+#: src/tar.c:413
 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:439
+#: src/tar.c:415
 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:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Műveletmódosítók:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "ritka fájlok hatékony kezelése"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TÍPUS"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "lyukfelismerési módszer"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAGAS[.ALACSONY]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "régi GNU formátumú növekményes mentés kezelése"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "új GNU formátumú növekményes mentés kezelése"
 
-#: src/tar.c:455
+#: src/tar.c:433
 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:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 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, --"
@@ -1560,139 +1738,148 @@ msgstr ""
 "átadásra a parancssoron vagy a -T kapcsolón keresztül. A SZÁM "
 "alapértelmezett értéke az 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "az archívum kereshető"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "az archívumban nem lehet pozicionálni"
 
-#: src/tar.c:469
+#: src/tar.c:447
 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:472
+#: src/tar.c:450
 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:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Felülírás felügyelete:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 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:483
+#: src/tar.c:461
 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:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "ne cserélje a meglévő fájlokat kibontáskor, kezelje ezeket hibaként"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "ne cserélje a meglévő fájlokat kibontáskor, szó nélkül hagyja ki ezeket"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "meglévő fájlok felülírása kibontáskor"
 
-#: src/tar.c:495
+#: src/tar.c:473
 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:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "hierarchiák kiürítése könyvtár kibontása előtt"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "meglévő könyvtárak metaadatainak megőrzése"
 
-#: src/tar.c:501
+#: src/tar.c:479
 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:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "könyvtárakra mutató meglévő szimlinkek megőrzése kibontáskor"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "KÖNYVTÁR"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "alkönyvtár létrehozása a laza fájlok kibontásának elkerüléséhez"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Kimeneti adatfolyam kiválasztása:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "fájlok kibontása a szabványos kimenetre"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "PARANCS"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "kibontott fájlok továbbítása másik program számára"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "utódok kilépési kódjainak figyelmen kívül hagyása"
 
-#: src/tar.c:522
+#: src/tar.c:500
 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:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Fájlattribútumok kezelése:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 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:532
+#: src/tar.c:510
 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:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "a FÁJL használata a fájltulajdonos UID-ek és nevek leképezésére"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "a FÁJL használata a fájltulajdonos GID-ek és nevek leképezésére"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DÁTUM-VAGY-FÁJL"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "MÓDOSÍTÁSOK"
 
-#: src/tar.c:536
+#: src/tar.c:520
 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:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "MÓDSZER"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1702,11 +1889,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:543
+#: src/tar.c:527
 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:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1714,22 +1901,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:547
+#: src/tar.c:531
 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:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "mindig számok használata a felhasználó- vagy csoportnevekhez"
 
-#: src/tar.c:551
+#: src/tar.c:535
 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:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1737,18 +1924,14 @@ 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:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 "a tagargumentumok ugyanabban a sorrendben kerülnek felsorolásra, mint az "
 "archívum fájljai"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "azonos, mint a -p és -s egyszerre"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1756,187 +1939,187 @@ 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:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "a --delay-directory-restore kapcsoló hatásának megszüntetése"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "SORREND"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "könyvtárrendezési sorrend: nincs (alapértelmezett) vagy név"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Kiterjesztett fájlattribútumok kezelése:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Kiterjesztett attribútumok támogatásának engedélyezése"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Kiterjesztett attribútumok támogatásának kikapcsolása"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASZK"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "Adja meg az xattr kulcsok felvételi mintáját"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "Adja meg az xattr kulcsok kihagyási mintáját"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "A SELinux kontextustámogatás bekapcsolása"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "A SELinux kontextustámogatás kikapcsolása"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "A POSIX ACL-ek támogatásának bekapcsolása"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "A POSIX ACL-ek támogatásának kikapcsolása"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Eszköz kiválasztása és váltása:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHÍVUM"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "az ARCHÍVUM archívumfájl vagy -eszköz használata"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "az adott rmt PARANCS használata az rmt helyett"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "a távoli PARANCS használata az rsh helyett"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "meghajtó és sűrűség megadása"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "többkötetes archívum létrehozása/listázása/kibontása"
 
-#: src/tar.c:629
+#: src/tar.c:611
 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:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 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:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Eszközblokkolás:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKK"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "rekordonként BLOKK x 512 bájt"
 
-#: src/tar.c:644
+#: src/tar.c:626
 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:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "nullázott blokkok (EOF) mellőzése az archívumban"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "újrablokkolás olvasáskor (4.2BSD csövekhez)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Archívumformátum kiválasztása:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMÁTUM"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "az adott formátumú archívum létrehozása"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "A FORMÁTUM a következők egyike:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "régi V7 tar formátum"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "A tar <= 1.12 által használt GNU formátum"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x formátum"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) formátum"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) formátum"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "azonos a pax formátummal"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "azonos a --format=v7 formátummal"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "azonos a --format=posix formátummal"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "kulcsszó[[:]=érték][,kulcsszó[[:]=érték]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "a pax kulcsszavak irányítása"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "SZÖVEG"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1944,189 +2127,84 @@ 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:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Tömörítési kapcsolók:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 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:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 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:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Helyi fájlválasztás:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "váltás a KÖNYVTÁR könyvtárba"
-
-#: src/tar.c:714
-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:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "a -T nullal lezárt neveket olvas, letiltja a -C kapcsolót"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "a korábbi --null kapcsoló hatásának letiltása"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"a -T segítségével beolvasott fájlnevek idézettségének megszüntetése "
-"(alapértelmezett)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "ne szüntesse meg a -T segítségével beolvasott fájlnevek idézettségét"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "MINTA"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "a MINTAKÉNT megadott fájlok kihagyása"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "a FÁJLBAN megadott minták kihagyása"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"a CACHEDIR.TAG-et tartalmazó könyvtárak tartalmának kihagyása, a címkefájl "
-"kivételével"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak alatt minden kihagyása"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak kihagyása"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "a FÁJLT tartalmazó könyvtárak alatt minden kihagyása"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "a FÁJLT tartalmazó könyvtárak kihagyása"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "verziókezelő-könyvtárak kihagyása"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "mentési és zárolási fájlok kihagyása"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "ne lépjen be automatikusan a könyvtárakba"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "az archívum létrehozásakor maradjon a helyi fájlrendszeren"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "belépés a könyvtárakba rekurzívan (alapértelmezett)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "ne vágja le a kezdő „/” jelet a fájlnevekből"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "TAGNÉV"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "kezdés a TAGNÉV tagnál az archívum olvasásakor"
 
-#: src/tar.c:769
+#: src/tar.c:701
 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:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DÁTUM"
 
-#: src/tar.c:772
+#: src/tar.c:704
 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:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "FELÜGYELET"
 
-#: src/tar.c:774
+#: src/tar.c:706
 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:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "KARAKTERLÁNC"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2134,102 +2212,62 @@ 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:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Fájlnév-átalakítások:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "KIFEJEZÉS"
 
-#: src/tar.c:786
+#: src/tar.c:718
 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:792
-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:795
-msgid "ignore case"
-msgstr "kis- és nagybetűk figyelmen kívül hagyása"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "a minták illesztése a fájlnevek elejére"
-
-#: src/tar.c:799
-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:801
-msgid "case sensitive matching (default)"
-msgstr "kis- és nagybetűkre érzékeny illesztés (alapértelmezett)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "helyettesítő karakterek használata (alapértelmezett kihagyáskor)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "szó szerinti karakterlánc-illesztés"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "a helyettesítő karakterek nem illeszkednek a „/” jelre"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-"a helyettesítő karakterek illeszkednek a „/” jelre (alapértelmezett "
-"kihagyáskor)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informatív kimenet:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "feldolgozott fájlok bőbeszédű listázása"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "KULCSSZÓ"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "figyelmeztetés felügyelete"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "MŰVELET"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "a MŰVELET végrehajtása minden ellenőrzőponton"
 
-#: src/tar.c:827
+#: src/tar.c:737
 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:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SZIGNÁL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2241,35 +2279,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:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "a fájlmódosítási idők kiírása UTC szerint"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "fájl módosítási idejének kiírása teljes pontossággal"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "bőbeszédű kimenet küldése a FÁJLBA"
 
-#: src/tar.c:840
+#: src/tar.c:750
 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:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "megerősítés kérése minden egyes művelethez"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "a tar alapértelmezéseinek megjelenítése"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "érvényes tartományok megjelenítése a pillanatkép-fájl mezőkhöz"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2277,31 +2315,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:851
+#: src/tar.c:761
 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:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STÍLUS"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "a KARAKTERLÁNCBÓL származó karakterek kiegészítő idézése"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "a KARAKTERLÁNCBÓL származó karakterek idézésének letiltása"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Kompatibilitási kapcsolók:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2309,15 +2347,22 @@ msgstr ""
 "létrehozáskor megegyezik a --old-archive kapcsolóval; kibontáskor a --no-"
 "same-owner kapcsolóval"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Egyéb kapcsolók:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 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:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "a(z) „%s” kapcsoló nem használható a következővel: „%s”"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2325,40 +2370,40 @@ msgstr ""
 "A következő kapcsolók közül egynél többet nem használhat: „-Acdtrux”, „--"
 "delete” vagy „--test-label”"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "A tömörítési kapcsolók ütköznek"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Ismeretlen szignálnév: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "A dátummintafájl nem található"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s cseréje az ismeretlen %s dátumformátumhoz"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, 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:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, 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:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "A --quoting-style kapcsoló érvényes paraméterei:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2366,187 +2411,198 @@ msgstr ""
 "\n"
 "*Ezen* tar alapértelmezései:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Érvénytelen tulajdonos- vagy csoportazonosító"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Érvénytelen blokkolási tényező"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Érvénytelen szalagméret"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Hibás növekményszintérték"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Egynél több küszöbdátum"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Érvénytelen ritka verzió érték"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 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:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "A --checkpoint értéke nem egy egész"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Érvénytelen mód került megadásra a kapcsolóban"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Érvénytelen szám"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"A --preserve kapcsoló elavult, használja a --preserve-permissions --preserve-"
-"order kapcsolókat helyette"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Érvénytelen rekordméret"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Érvénytelen elemszám"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Csak egy --to-command kapcsoló engedélyezett"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Rosszul formázott sűrűségargumentum: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Ismeretlen sűrűség: „%c”"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: a hiba helye"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "hiba a(z) „%s” elemzésekor"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FÁJL]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "a --%s kapcsoló nem használható a következővel: %s"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "nem kapcsoló argumentumok ebben: %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "nem darabolható a TAR_OPTIONS: %s"
+
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "A régi „%c” kapcsoló paramétert igényel."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "a --occurrence értelmetlen fájllista nélkül"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Több archívumfájl esetén szükséges a „-M” kapcsoló"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "a --level értelmetlen a --listed-incremental nélkül"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "A többkötetes archívumok nem ellenőrizhetők"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "A tömörített archívumok nem ellenőrizhetők"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nem használhatók többkötetes tömörített archívumok"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Tömörített archívumok nem fűzhetők össze"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "a --pax kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "a --acls kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "a --selinux kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "a --xattrs kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Nem lehet kikövetkeztetni a felsőszintű könyvtár nevét; állítsa be világosan "
+"a --one-top-level=KVT kapcsolóval"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 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:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Üres archívum létrehozása visszautasítva"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Az „-Aru” kapcsolók összeférhetetlenek a „-f -” kapcsolóval"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 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”, „--delete” vagy „--"
 "test-label”"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Kilépés hibaállapottal a korábbi hibák miatt"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "könyvtárrendezési sorrend: nincs (alapértelmezett), név vagy inode"
 
 #: src/update.c:87
 #, c-format
@@ -2603,36 +2659,36 @@ msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 "A(z) „%s” ismeretlen kiterjesztett fejléc kulcsszó figyelmen kívül marad"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Rosszul formázott kiterjesztett fejléc: érvénytelen %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Rosszul formázott kiterjesztett fejléc: többlet %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2675,7 +2731,7 @@ msgstr "%u. írási ellenőrzőpont"
 msgid "Read checkpoint %u"
 msgstr "%u. olvasási ellenőrzőpont"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2683,72 +2739,76 @@ msgstr ""
 "a genfiles adatfájlokat kezel a GNU paxutils tesztcsomag számára.\n"
 "A KAPCSOLÓK:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Fájllétrehozási kapcsolók:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "MÉRET"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Az adott MÉRETŰ fájl létrehozása"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Írás a NÉV nevű fájlba a szabványos kimenet helyett"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Fájlnevek beolvasása a FÁJLBÓL"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "a -T nullal lezárt neveket olvas"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "A fájl feltöltése az adott MINTÁVAL. A MINTA a 'default' (alapértelmezett) "
 "vagy 'zeros' (nullák) egyike"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Egy blokk mérete ritka fájlhoz"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Ritka fájl előállítása. A parancssor többi része megadja a fájlleképezést."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "ELTOLÁS"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Az adott eltolásra pozicionálás az adatok kiírása előtt"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Fájlstatisztika kapcsolói:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "A stat struktúra tartalmának kiírása minden egyes megadott fájlhoz. Az "
 "alapértelmezett FORMÁTUM: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Szinkron végrehajtási kapcsolók:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "KAPCSOLÓ"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2756,22 +2816,22 @@ msgstr ""
 "Az adott ARGS végrehajtása. Hasznos a --checkpoint és a --cut, --append, --"
 "touch vagy --unlink egyikével"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Az adott művelet (lásd alább) végrehajtása a SZÁM-adik ellenőrzőpont elérése "
 "után"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Dátum beállítása a következő --touch kapcsoló számára"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Végrehajtott ellenőrzőpontok és a PARANCS kilépési állapotának megjelenítése"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2779,7 +2839,7 @@ msgstr ""
 "Szinkron végrehajtási tevékenységek. Ezek a --checkpoint kapcsoló által "
 "megadott számú ellenőrzőpont elérésekor kerülnek végrehajtásra."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2787,155 +2847,165 @@ msgstr ""
 "A FÁJL csonkolása az előző --length kapcsoló által megadott méretre (vagy "
 "nullára, ha nincs megadva)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "MÉRET bájt hozzáfűzése a FÁJLHOZ. A MÉRETET az előző --length kapcsoló adja "
 "meg."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "A FÁJL hozzáférési és módosítási idejének frissítése"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "A PARANCS végrehajtása"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "A FÁJL törlése"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Érvénytelen méret: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "A szám kívül esik az engedélyezett tartományon: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatív méret: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "a stat(%s) meghiúsult"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "a kért fájlhossz %lu, a tényleges %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "a létrehozott fájl nem ritka"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Hiba a(z) „%s” közelében található szám elemzésekor"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Ismeretlen dátumformátum"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENTUMOK...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "a(z) „%s” nem nyitható meg"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "Nem lehet pozicionálni"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "a fájlnév null karaktert tartalmaz"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "helytelen maszk (a(z) „%s” közelében)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Ismeretlen mező: „%s”"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "nem állítható be az idő a következőn: „%s”"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "a(z) „%s” nem csonkítható"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "A(z) „%s” parancs meghiúsult"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "a(z) „%s” nem törölhető"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "A parancs sikeresen befejeződött\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "A parancs meghiúsult a következő állapottal: %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, 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:841
+#: tests/genfile.c:909
 #, 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:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "A parancs hibakeresési kimenetet adott vissza\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "A parancs befejeződött\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "a --stat fájlneveket igényel"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "azonos, mint a -p és -s egyszerre"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "A --preserve kapcsoló elavult, használja a --preserve-permissions --"
+#~ "preserve-order kapcsolókat helyette"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "a --occurrence nem használható ezzel: %s"
 
index 5fb522aed8f77f469e851b4134057713842fb101..daf01250e50ef11c590b88ebb4f02eff664b3f73 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index f4e340c26eb0fb2f8ee285edded4122c318f9951..564ead9dd5068dba34c08668748678570343d75b 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -2,15 +2,15 @@
 # Copyright (C) 1999, 2002 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Tedi Heriyanto <tedi_h@gmx.net>, 1999, 2002.
-# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.23.90\n"
+"Project-Id-Version: tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2010-07-14 10:00+0700\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2014-08-02 10:00+0700\n"
 "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
 "Language: id\n"
@@ -19,46 +19,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argumen %s untuk %s tidak valid"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argumen %s untuk %s ambigu"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Argumen yang valid adalah:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: ARGP_HELP_FMT parameter membutuhkan sebuah nilai"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT parameter harus positif"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Parameter ARGP_HELP_FMT tidak diketahui"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Sampah dalam ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -66,143 +66,148 @@ msgstr ""
 "Argumen wajib atau opsional ke pilihan panjang juga wajib atau opsional "
 "untuk argumen pendek yang berkorespondennya."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Penggunaan:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  atau: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [PILIHAN...]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+#: gnu/argp-help.c:1688
+#, 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"
+msgstr "Coba '%s --help' atau '%s --usage' untuk informasi lebih lanjut.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Laporkan bug ke %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Kesalahan sistem tidak dikenal"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "berikan daftar bantuan ini"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "berikan sebuah pesan penggunaan singkat"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NAMA"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "set nama aplikasi"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SECS"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "berhenti untuk DETIK detik (baku 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "tampilkan versi aplikasi"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(APLIKASI ERROR) Tidak ada versi yang dikenal!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Terlalu banyak argumen\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(APLIKASI ERROR) Pilihan seharusnya telah dikenali!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "error menulis"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
-#, fuzzy, c-format
+#: gnu/getopt.c:575 gnu/getopt.c:604
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: pilihan '%s' ambigu\n"
+msgstr "%s: pilihan '%s' ambigu"
+
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: pilihan '-W %s' ambigu\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: pilihan '--%s' tidak mengijinkan sebuah argumen\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: pilihan '--%s' membutuhkan sebuah argumen\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: pilihan tidak dikenal '--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: pilihan tidak dikenal '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: pilihan -- '%c' tidak valid\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: pilihan membutuhkan sebuah argumen -- '%c'\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: pilihan '-W %s' ambigu\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: pilihan '-W %s' membutuhkan sebuah argumen\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "kehabisan memori"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "tidak dapat menyimpan direktori kerja sekarang"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "gagal untuk kembali ke direktori kerja inisial"
@@ -228,11 +233,11 @@ msgstr "gagal untuk kembali ke direktori kerja inisial"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -242,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yY]"
 
@@ -252,16 +257,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Dibungkus oleh %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Dibungkus oleh %s\n"
@@ -269,11 +274,11 @@ msgstr "Dibungkus oleh %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -292,19 +297,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Ditulis oleh %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Ditulis oleh %s dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Ditulis oleh %s, %s, dan %s.\n"
@@ -312,7 +317,7 @@ msgstr "Ditulis oleh %s, %s, dan %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -324,7 +329,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +341,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -348,7 +353,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -360,7 +365,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -374,7 +379,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -388,7 +393,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -403,7 +408,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -412,22 +417,22 @@ msgstr ""
 "\n"
 "Laporkan bug ke: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Laporkan %s bug ke: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s halaman rumah: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s halaman rumah: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Bantuan umum menggunakan aplikasi GNU: <http://www.gnu.org/gethelp/>\n"
 
@@ -539,7 +544,7 @@ msgid "Cannot connect to %s: resolve failed"
 msgstr "Tidak dapat menghubungi ke %s: penelusuran gagal"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
 msgstr "Tidak dapat menjalankan remote shell"
 
@@ -592,8 +597,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NOMOR"
 
@@ -601,10 +606,11 @@ msgstr "NOMOR"
 msgid "set debug level"
 msgstr "tentukan tingkat penelusuran"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "BERKAS"
 
@@ -617,7 +623,7 @@ msgstr "tentukan keluaran nama berkas penelusuran"
 msgid "cannot open %s"
 msgstr "tidak dapat membuka %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "terlalu banyak argumen"
@@ -626,112 +632,111 @@ msgstr "terlalu banyak argumen"
 msgid "Garbage command"
 msgstr "Perintah sampah"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Ini sepertinya bukan sebuah tar archive"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Total byte dibaca"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Total byte ditulis"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Total byte dihapus: %s\n"
+msgstr "Total byte dihapus"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Refusing to read archive contents from terminal (missing -f option?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Refusing to write archive contents to terminal (missing -f option?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Nilai record_size tidak valid"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Tidak diberikan nama archive"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Tidak dapat memverifikasi stdin/stdout archive"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archive terkompres. Gunakan %s pilihan"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Tidak dapat update compressed archives"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Berada pada awal tape, berhenti sekarang"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Terlalu banyak errors, berhenti"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek tidak dapat berhenti di sebuah batas rekaman"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: berisi nomor volum yang tidak valid"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Nomor volum overflow"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Mempersiapkan volume #%d untuk %s dan tekan return: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "EOF pada saat user reply diharapkan"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "PERINGATAN: Archive tidak lengkap"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -743,65 +748,65 @@ msgstr ""
 " q             Batalkan tar\n"
 " y or newline  Lanjutkan operasi\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Spawn sebuah subshell\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Tampilkan daftar ini\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Tidak ada new volume; keluar.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Nama berkas tidak dispesifikasikan. Coba lagi.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Masukan tidak valid. Ketik ? untuk bantuan.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "Perintah %s gagal"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s tidak dilanjutkan di volume ini"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s adalah ukuran yang salah (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Volume ini di luar urutan (%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Label archive tidak cocok dengan %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volume %s tidak sesuai dengan %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -809,7 +814,7 @@ msgstr ""
 "%s: nama berkas terlalu panjang untuk diurutkan dalam sebuah GNU multivolume "
 "header, dipotong"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "tulis tidak berhenti di batas blok"
 
@@ -820,20 +825,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Isi berbeda"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Unexpected EOF dalam archive"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Tipe berkas berbeda"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Mode berbeda"
 
@@ -849,7 +854,7 @@ msgstr "Gid berbeda"
 msgid "Mod time differs"
 msgstr "Mod time berbeda"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Ukuran berbeda"
 
@@ -858,140 +863,139 @@ msgstr "Ukuran berbeda"
 msgid "Not linked to %s"
 msgstr "Tidak dilink ke %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symlink berbeda"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Nomor perangkat berbeda"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verifikasi "
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Archive berisi nama berkas dengan awalan dihapus."
 
-#: src/compare.c:535
-#, fuzzy
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
-msgstr "Arsip berisikan header base-64 yang kadaluarsas"
+msgstr "Arsip berisikan header yang kadaluarsas"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Verifikasi mungkin gagal untuk menemukan berkas orisinil."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Sebuah lone blok nol di %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: berisi sebuah cache direktori tag %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Membuat header oktal negatif"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: nama link terlalu panjang; tidak di-dump"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "isi tidak didump"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipe file tidak dikenal; file diabaikan"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Hilang hubungan ke %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: berkas tidak berubah; tidak di-dump"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: berkas adalah archive; tidak di-dump"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "direktori tidak didump"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: berkas berubah saat kita membacanya"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket diabaikan"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door diabaikan"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Skip ke header berikutnya"
 
@@ -1009,55 +1013,55 @@ msgstr "%s: implausibly penanda waktu lama %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: penanda %s adalah %s dalam masa datang"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inkonsistensi tidak diharapkan ketika membuat direktori"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s: skipping existing file"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s: Direktori diganti nama sebelum statusnya dapat diperoleh"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Sedang extract contiguous file sebagai regular file"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Mencoba extract symbolic link sebagai hard link"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Tidak terduga nama header panjang"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Saat ini %s adalah lebih baru atau berumuran sama"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tidak dapat melakukan backup berkas ini"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Tidak dapat mengubah nama %s ke %s"
@@ -1073,9 +1077,9 @@ msgid "%s: Directory is new"
 msgstr "%s: Direktori adalah baru"
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: file berada pada filesistem yang berbeda; tidak di-dump"
+msgstr "%s: directory berada pada filesistem yang berbeda; tidak di-dump"
 
 #: src/incremen.c:587
 #, c-format
@@ -1087,9 +1091,8 @@ msgid "Invalid time stamp"
 msgstr "Time stamp tidak valid"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "Waktu modifikasi (detik) tidak valid"
+msgstr "Waktu modifikasi tidak valid"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
@@ -1106,217 +1109,220 @@ msgstr "Nomor inode tidak valid"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: byte %s: %s %.*s... too long"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Tidak terduga EOF dalam berkas snapshot"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: byte %s: (valid range %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Hilang pengakhir rekaman"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Format berkas incremental buruk"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Versi format incremental tidak didukung: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Salah bentuk dumpdir: diduga '%c' tetapi ditemukan %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Salah bentuk dumpdir: 'X' terduplikasi"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Salah bentuk dumpdir: nama kosong dalam 'R'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Salah bentuk dumpdir: 'T' tidak diawali oleh 'R'"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Salah bentuk dumpdir: nama kosong dalam 'T'"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Salah bentuk dumpdir: 'X' tidak pernah digunakan"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Tidak dapat membuat direktori sementara menggunakan template %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Tidak menghapus direktori: tidak dapat memperoleh statistik"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Menghapus %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Tidak dapat menghapus"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Mengabaikan"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok dari KOSONG **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Akhir dari Berkas **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Nilai oktal arsip %.*s di luar batasan %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arsip berisikan header base-64 yang kadaluarsas"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " link ke %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipe file tidak dikenal %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Link Panjang--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nama Panjang--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volume Header--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Diteruskan pada byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Membuat direktori:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Mengganti nama %s ke %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s:Tidak dapat mengganti nama ke %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Mengganti nama %s kembali ke %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Berkas dihapus sebelum kita membacanya"
@@ -1329,31 +1335,189 @@ msgstr "proses anak"
 msgid "interprocess channel"
 msgstr "saluran interproses"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Pemilihan berkas lokal:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "pindah ke direktori DIR"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "dapatkan nama untuk ekstrak atau buat dari BERKAS"
+
+#: src/names.c:77
 #, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T baca nama berakhiran kosong, non-aktifkan -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "non-aktifkan efek dari pilihan --null sebelumnya"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "unquote nama berkas baca dengan (baku)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "jangan unquote nama berkas baca dengan"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "POLA"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "jangan masukan berkas, berikan sebagai sebuah POLA"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "jangan masukan pola yang terdaftar dalam BERKAS"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"jangan masukan isi dari direktori berisi CACHEDIR.TAG, kecuali untuk berkas "
+"tag itu sendiri"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "jangan masukan apapun dibawah direktori berisi CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "jangan masukan direktori berisi CACHEDIR.TAG"
+
+#: src/names.c:103
+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/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "read exclude patterns for each directory from FILE, if it exists"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "jangan masukan apapun dibawah direktori berisi BERKAS"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "jangan masukan direktori berisi BERKAS"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "jangan masukan direktori sistem pengontrol direktori"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "read exclude patterns from the VCS ignore files"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "abaikan berkas cadangan dan berkas kunci"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "rekursif kedalam direktori (baku)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "hindari penurunan secara otomatis dalam direktori"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"Pilihan nama berkas cocok (mempengaruhi baik pola exclude dan include):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "pencocokan pola nama berkas mulai"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "pencocokan polah setelah '/' apapun (baku untuk exclusion)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "abaikan perbedaan huruf besar dan huruf kecil"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "pencocokan dengan memperhatikan huruf besar dan huruf kecil (baku)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "gunakan wildcards (baku untuk exclusion)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "pencocok verbatim string"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "wildcards cocok '/' (baku untuk exclusion)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "wildcards tidak cocok '/'"
+
+#: src/names.c:768
 msgid "command line"
-msgstr "Perintah %s gagal"
+msgstr "Perintah gagal"
 
-#: src/names.c:378
-#, fuzzy, c-format
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: daftar berkas telah dibaca"
+msgstr "%s: file list requested from %s daftar berkas telah dibaca %s"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "tidak dapat menset waktu di `%s'"
+msgstr "tidak dapat menset waktu di '%s': %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: nama berkas yang dibaca berisi karakter nul"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Pola pencocokan karakter digunakan dalam nama berkas."
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1361,56 +1525,55 @@ msgstr ""
 "Gunakan --wildcards untuk mengaktifkan pencocokan pola, atau --no-wildcards "
 "untuk menekan peringatan ini"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Tidak ditemukan dalam archive"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Kejadian yang diinginkan tidak ditemukan dalam archive"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Label archive tidak cocok"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Hanya satu pilihan -C yang diijinkan dengan --listed-incremental"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Pilihan `-%s' dan `-%s' membutuhkan standard masukan"
+msgstr "Pilihan '-%s' dan '-%s' membutuhkan standard masukan"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Format archive tidak valid"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Feature GNU dibutuhkan untuk format archive yang tidak kompatibel"
 
-#: src/tar.c:264
-#, fuzzy, c-format
+#: src/tar.c:265
+#, c-format
 msgid ""
 "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 "
+"Gaya quoting '%s' tidak diketahui. Coba '%s --quoting-style=help' untuk "
 "memperoleh daftar."
 
-#: src/tar.c:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1420,7 +1583,7 @@ 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' menyimpan beberapa berkas bersama dalam sebuah tape tunggal atau "
+"GNU 'tar' menyimpan beberapa berkas bersama dalam sebuah tape tunggal atau "
 "disk archive, dan dapat dikembalikan ke berkas individu dari archive "
 "tersebut.\n"
 "\n"
@@ -1430,8 +1593,7 @@ msgstr ""
 "secara rinci.\n"
 "  tar -xf archive.tar          # Bongkar semua berkas dari archive.tar.\n"
 
-#: src/tar.c:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1442,7 +1604,7 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"Akhiran dari backup adalah `~', kecuali bila diset dengan --suffix atau "
+"Akhiran dari backup adalah '~', kecuali bila diset dengan --suffix atau "
 "SIMPLE_BACKUP_SUFFIX.\n"
 "Version control dapat diset dengan --backup atau VERSION_CONTROL, nilainya:\n"
 "\n"
@@ -1452,80 +1614,88 @@ msgstr ""
 "sebaliknya\n"
 "  never, simple   selalu buat cadangan sederhana\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Mode operasi utama:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "daftar isi dari sebuah archive"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "ekstrak berkas dari sebuah archive"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "buat sebuah archive baru"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "cari perbedaan diantara archive dan sistem berkas"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "tambahkan berkas ke akhir dari sebuah archive"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "hanya tambahkan berkas yang lebih bari dari salinan dalam archive"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "tambahkan berkas tar ke sebuah archive"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "hapus dari archive (bukan dalam pita mag!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "test label volume archive dan keluar"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Pemodifikasi operasi:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "tangani berkas sparse secara efisien"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 "set versi dari format sparse untuk digunakan (mengimplikasikan --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "tangani format GNU lama incremental backup"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "tangani format GNU barus incremental backup"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "tingkat `dump' untuk pembuatan `listed-incremental archive'"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "jangan keluar dengan bukan nol dalam berkas tidak dapat dibaca"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1537,141 +1707,147 @@ 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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "pencarian tidak dapat dilakukan dalam archive"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "pencarian tidak dapat dilakukan dalam archive"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 "tidak dapat memeriksa nomor perangkat ketika membuat archive incremental"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "periksa nomor perangkat ketika membuat incremental archive (baku)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Overwrite kontrol:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "mencoba untuk memverifikasi archive setelah menulisnya"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "hapus berkas setelah menambahkannya ke archive"
 
-#: src/tar.c:485
-#, fuzzy
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "jangan timpa berkas yang sudah ada ketika mengekstrak"
 
-#: src/tar.c:488
-#, fuzzy
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "jangan timpa berkas yang sudah ada ketika mengekstrak"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "overwrite berkas yang sudah ada ketika mengekstrak"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "hapus setiap berkas sebelum mengekstrak diatasnya"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "kosongkan susunan sebelum mengekstrak ke direktori"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "jaga metadata dari direktori yang sudah ada"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "overwrite metadata dari direktori yang sudah ada ketika mengekstrak (baku)"
 
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "overwrite berkas yang sudah ada ketika mengekstrak"
-
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
+msgstr "preserve berkas yang sudah ada ketika mengekstrak"
 
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "create a subdirectory to avoid having loose files extracted"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Pilih stream keluaran:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "ekstrak berkas ke standar keluaran"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "PERINTAH"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "pipe berkas terekstrak ke aplikasi lain"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "abaikan kode keluaran dari anak"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "perlakukan kode keluaran bukan nol dari anak sebagai error"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Penanganan dari atribut berkas:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "paksa NAMA sebagai pemilik untuk berkas yang ditambahkan"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "paksa NAMA sebagai grup untuk berkas yang ditambahkan"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATE-ATAU-BERKAS"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "set mtime untuk berkas yang ditambahkan dari DATE-OR-FILE"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "PERUBAHAN"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "paksa PERUBAHAN (simbolik) mode untuk berkas yang ditambahkan"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODE"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1681,11 +1857,11 @@ msgstr ""
 "setelah membaca (METODE='replace'; baku) atau dengan tidak menset waktu di "
 "tempat pertama (METODE='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "jangan ekstrak waktu modifikasi berkas"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1693,19 +1869,19 @@ msgstr ""
 "mencoba mengekstrak berkas dengan kepemilikan yang sama yang ada dalam "
 "archive (baku untuk pengguna super)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "ekstrak berkas seperti dirimu (baku untuk pengguna biasa)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "selalu gunakan nomor untuk nama pengguna/grup"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "ekstrak informasi mengenai ijin berkas (baku untuk superuser)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1713,16 +1889,13 @@ msgstr ""
 "aplikasikan umask pengguna ketika mengekstrak ijin dari archive (baku untuk "
 "pengguna biasa)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
+"member arguments are listed in the same order as the files in the archive"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "sama seperti baik -p dan -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1730,188 +1903,187 @@ msgstr ""
 "tunda konfigurasi waktu modifikasi dan ijin untuk direktori terekstrak "
 "sampai akhir dari ekstrasi"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "batalkan efek dari pilihan --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDER"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "directory sorting order: none (default) or name"
 
-#: src/tar.c:578
-#, fuzzy
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Penanganan dari atribut berkas:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Enable extended attributes support"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Disable extended attributes support"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MASK"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "specify the include pattern for xattr keys"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "specify the exclude pattern for xattr keys"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Enable the SELinux context support"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Disable the SELinux context support"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Enable the POSIX ACLs support"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Disable the POSIX ACLs support"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Pemilihan dan pengubahan perangkat:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIVE"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "gunakan berkas archive atau perangkat ARCHIVE"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "berkas archive adalah lokal walaupun ini memiliki sebuah kolon"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "gunakan PERINTAH rmt yang diberikan daripad rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "gunakan PERINTAH remote daripada rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "spesifikasikan drive dan kepadatan"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "buat/daftar/ekstrak multi-volume archive"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "ubah pita setelah menulis ANGKA x 1024 bytes"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "jalankan script di akhir dari setiap pite (mengimplikasikan -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "gunakan/update jumlah volume dalam BERKAS"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Bloking perangkat:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOK"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOK x 512 byte per detik"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "JUMLAH dari byte per rekaman, kelipatan dari 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "abaikan blok yang dinolkan dalam archive (berarti EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "reblok saat kita baca (untuk 4.2BSD pipes)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Pemilihan format archive:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "buat archive dari format yang diberikan"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT adalah satu dari berikut:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "format tar lama V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "format gnu tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "format GNU tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "format POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "format POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "sama seperti pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "sama seperti --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "sama seperti --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "kata kunci[[:]=nilai][,kata kunci[[:]=nilai]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "kontrol kata kunci pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEKS"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1919,185 +2091,79 @@ msgstr ""
 "buat archive dengan nama volume TEKS; di waktu daftar/ekstrak, gunakan TEKS "
 "sebagai sebuah pola globbing untuk nama volume"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Pilihan kompresi:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "gunaka nama akhiran archive untuk menentukan aplikasi kompresi"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "jangan gunakan nama akhiran archive untuk menentukan aplikasi kompresi"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "saring melalui PROG (harus menerima -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Pemilihan berkas lokal:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "pindah ke direktori DIR"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "dapatkan nama untuk ekstrak atau buat dari BERKAS"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T baca nama berakhiran kosong, non-aktifkan -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "non-aktifkan efek dari pilihan --null sebelumnya"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "unquote nama berkas baca dengan -T (baku)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "jangan unquote nama berkas baca dengan -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "POLA"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "jangan masukan berkas, berikan sebagai sebuah POLA"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "jangan masukan pola yang terdaftar dalam BERKAS"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"jangan masukan isi dari direktori berisi CACHEDIR.TAG, kecuali untuk berkas "
-"tag itu sendiri"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "jangan masukan apapun dibawah direktori berisi CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "jangan masukan direktori berisi CACHEDIR.TAG"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "jangan masukan apapun dibawah direktori berisi BERKAS"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "jangan masukan direktori berisi BERKAS"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "jangan masukan direktori sistem pengontrol direktori"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "abaikan berkas cadangan dan berkas kunci"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "hindari penurunan secara otomatis dalam direktori"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "tetap dalam sistem berkas lokal ketika membuat archive"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "rekursif kedalam direktori (baku)"
-
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
-msgstr "jangan hilangkan awalan `/' dari nama berkas"
+msgstr "jangan hilangkan awalan '/' dari nama berkas"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "NAMA-ANGGOTA"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "berawal di anggota NAMA-ANGGOTA dalam archive"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "hanya simpan berkas lebih baru dari DATE-OR-FILE"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "TANGGAL"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "bandingkan tanggal dan waktu hanya ketika data berubah"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "KONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "backup sebelum penghapusan, pilih PENGONTROL versi"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2105,100 +2171,60 @@ msgstr ""
 "backup sebelum penghapusan, override akhiran biasa ('~' kecuali di override "
 "oleh variabel lingkungan SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Transformasi nama berkas:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "EKSPRESI"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "gunakan sed EKSPRESI replace untuk mengubah nama berkas"
 
-#: src/tar.c:792
-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:795
-msgid "ignore case"
-msgstr "abaikan perbedaan huruf besar dan huruf kecil"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "pencocokan pola nama berkas mulai"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "pencocokan polah setelah `/' apapun (baku untuk exclusion)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "pencocokan dengan memperhatikan huruf besar dan huruf kecil (baku)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "gunakan wildcards (baku untuk exclusion)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "pencocok verbatim string"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "wildcards tidak cocok `/'"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "wildcards cocok `/' (baku untuk exclusion)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Keluaran informative:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "proses daftar berkas secara verbose"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "KATA KUNCI"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "pengendali peringatan"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "tampilkan pesan perkembangan setiap rekaman ke ANGKA (baku 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "AKSI"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "jalankan AKSI disetiap titik pemeriksaan"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "tampilkan sebuah pesan jika tidak seluruh link didump"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SINYAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2210,35 +2236,35 @@ msgstr ""
 "adalah: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 dan SIGUSR2; nama tanpa awalah SIG "
 "juga diterima"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "tampilkan waktu modifikasi berkas dalam UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "tampilkan waktu berkas sampai ke resolusi penuh"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "kirim keluaran verbose ke BERKAS"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "tampilkan jumlah blok didalam archive dengan setiap pesan"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "minta konfirmasi untuk setiap aksi"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "tampilkan tar baku"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "show valid ranges for snapshot-file fields"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2246,31 +2272,31 @@ msgstr ""
 "ketika mendaftar atau mengekstrak, daftar setiap direktori yang tidak cocok "
 "dengan kriteria pencarian"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "tampilkan berkas atau nama berkas setelah transformasi"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "GAYA"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "sebagai tambahan karakter quote dari STRING"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "non-aktifkan quoting untuk karakter dari STRING"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Pilihan yang kompatibel:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2278,57 +2304,63 @@ msgstr ""
 "ketika membuat, sama seperti --old-archive; ketika mengekstrak, sama seperti "
 "--no-same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Pilihan lain:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "non-aktifkan penggunaan dari pilihan berbahaya yang berpotensial"
 
-#: src/tar.c:1010
-#, fuzzy
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "'%s' Tidak dapat mencari ke '%s'"
+
+#: src/tar.c:934
 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 `--"
+"Anda tidak bisa menspesifikasikan lebih dari satu pilihan '-Acdtrux' atau '--"
 "test-label'"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Pilihan kompresi konflik"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nama sinyal: %s tidak dikenal"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Tanggal contoh berkas tidak ditemukan"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Menggantikan %s untuk format tanggal tidak dikenal %s"
 
-#: src/tar.c:1140
-#, fuzzy, c-format
+#: src/tar.c:1066
+#, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr "Pilihan %s: memperlakukan tanggal `%s' sebagai %s"
+msgstr "Pilihan %s: memperlakukan tanggal '%s' sebagai %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "saring archive melalui %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Argumen yang valid untuk pilihan --quoting-style adalah:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2336,193 +2368,197 @@ msgstr ""
 "\n"
 "*Ini* tar baku ke:\n"
 
-#: src/tar.c:1330
-#, fuzzy
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Pemilik tidak valid"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Faktor bloking tidak valid"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Panjang tape tidak valid"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Nilai tingkat peningkatan tidak valid"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Lebih dari satu treshold date"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Nilai versi sparse tidak valid"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "pilihan --atime-preserve='system' tidak didukung di platform ini"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "nilai --checkpoint bukan sebuah integer"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Mode tidak tepat diberikan pada pilihan"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Nomor tidak valid"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Pilihan --preserve sudah ditinggalkan, lebih baik gunakan --preserve-"
-"permissions --preserve-order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Ukuran record tidak valid"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Jumlah record harus kelipatan dari %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Jumlah dari elemen tidak valid"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Hanya satu pilihan --to-command yang diijinkan"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Salah bentuk kepadatan argumen: %s"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
-msgstr "Kepadatan tidak diketahui: `%c'"
+msgstr "Kepadatan tidak diketahui: '%c'"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "Pilihan `-[0-7][lmh]' tidak didukung oleh tar *ini*"
+msgstr "Pilihan '-[0-7][lmh]' tidak didukung oleh tar *ini*"
+
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
 
-#: src/tar.c:2235
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Error parsing nomor didekat `%s'"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[BERKAS]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Pola %s tidak dapat digunakan"
+msgid "non-option arguments in %s"
+msgstr "argumen %s untuk %s tidak valid"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
 #, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "tidak dapat menset waktu di '%s': %s"
+
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
-msgstr "Pilihan 'lama' `%c' membutuhkan argument."
+msgstr "Pilihan 'lama' '%c' membutuhkan argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence tidak berarti tanpa sebuah daftar berkas"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Berkas multiple archive membutuhkan pilihan '-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level tidak berarti tanpa --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Tidak dapat verifikasi multi-volume archives"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Tidak dapat verify compressed archives"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Tidak dapat menggunakan multi-volume compressed archives"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Tidak dapat update compressed archives"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option hanya dapat digunakan dalam archive POSIX"
 
-#: src/tar.c:2560
-#, fuzzy
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr "--pax-option hanya dapat digunakan dalam archive POSIX"
+msgstr "--acls hanya dapat digunakan dalam archive POSIX"
 
-#: src/tar.c:2565
-#, fuzzy
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr "--pax-option hanya dapat digunakan dalam archive POSIX"
+msgstr "--selinux hanya dapat digunakan dalam archive POSIX"
 
-#: src/tar.c:2570
-#, fuzzy
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "--pax-option hanya dapat digunakan dalam archive POSIX"
+msgstr "--xattrs hanya dapat digunakan dalam archive POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Cannot deduce top-level directory name; please set it explicitly with --one-"
+"top-level=DIR"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Panjang volume tidak dapat lebih kecil dari ukuran rekaman"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Secara takut menolak untuk membuat sebuah archive kosong"
 
-#: src/tar.c:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
-msgstr "Pilihan '-Aru' tidak kompatibel dengan `-f -'"
+msgstr "Pilihan '-Aru' tidak kompatibel dengan '-f -'"
 
-#: src/tar.c:2766
-#, fuzzy
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
-"Anda harus menspesifikasikan salah satu dari pilihan `-Acdtrux' atau `--test-"
+"Anda harus menspesifikasikan salah satu dari pilihan '-Acdtrux' atau '--test-"
 "label'"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Keluar dengan status gagal karena error error sebelumnya"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "directory sorting order: none (default), name or inode"
 
 #: src/update.c:87
 #, c-format
@@ -2572,11 +2608,11 @@ msgid "Malformed extended header: missing newline"
 msgstr "Salah bentuk ekstensi header: hilang baris baru"
 
 #: src/xheader.c:741
-#, fuzzy, c-format
+#, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr "Mengabaikan kata kunci ekstensi `%s' yang tidak diketahui"
+msgstr "Mengabaikan kata kunci ekstensi '%s' yang tidak diketahui"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2585,27 +2621,27 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Salah bentuk ekstensi header: tidak valid %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Salah bentuk ekstensi header: kelebihan %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Salah bentuk ekstensi header: tidak valid %s: jumlah dari nilai ganjil"
@@ -2646,7 +2682,7 @@ msgstr "Menulis titik pemeriksaan %u"
 msgid "Read checkpoint %u"
 msgstr "Membaca titik pemeriksaan %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2654,69 +2690,73 @@ msgstr ""
 "genfile memanipulasi berkas data untuk suite pemeriksaan GNU paxutils.\n"
 "PILIHAN adalah:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Pilihan pembuatan berkas:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "UKURAN"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Buat berkas dari UKURAN yang diberikan"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Tulis ke berkas NAMA, daripada ke standar keluaran"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Baca nama berkas dari BERKAS"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T baca nama berakhiran null"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Isi berkas dengan POLA yang diberikan. POLA adalah 'baku' atau 'nol'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Ukuran dari sebuah blok untuk berkas sparse"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Buat berkas sparse. Sisa dari baris perintah memberikan peta berkas."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "OFSET"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Cari ke ofset yang diberikan sebelum menulis data"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Pilihan statistik berkas:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Tampilkan isi dari statistik struk untuk setiap berkas yang diberikan. "
 "FORMAT baku adalah: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "pilihan eksekusi synchronous:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "PILIHAN"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2724,22 +2764,22 @@ msgstr ""
 "Jalankan ARG. Berguna dengan --checkpoint dan satu dari --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Lakukan aksi yang diberikan (lihat dibawah) ketika mencapai titik "
 "pemeriksaan NOMOR"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Set tanggal untuk pilihan --touch selanjutnya"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Tampilkan titik pemeriksaan yang dijalankan dan status keluar dari PERINTAH"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2747,7 +2787,7 @@ msgstr ""
 "Aksi eksekusi synchronous. Ini dijalankan ketika titik pemeriksaan nomor "
 "yang diberikan oleh pilihan --checkpoint dicapai."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2755,167 +2795,164 @@ msgstr ""
 "Potong BERKAS ke ukuran yang dispesifikasikan oleh pilihan --length "
 "sebelumnya (atau 0, jika ini tidak diberikan)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Tambahkan UKURAN bytes ke BERKAS. UKURAN yang diberikan oleh pilihan --"
 "length sebelumnya."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Update waktu akses dan modifikasi dari BERKAS"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Jalankan PERINTAH"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Putus BERKAS"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ukuran: %s tidak valid"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Jumlah diluar dari jangkauan yang diijinkan: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Ukuran negatif: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) gagal"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "panjang berkas yang diminta %lu, sebenernya %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "pembuatan berkas tidak sparse"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Error parsing nomor didekat `%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Format tanggal tidak diketahui"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARG...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "tidak dapat membuka `%s'"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "Tidak dapat mencari"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "nama berkas berisi karakter null"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "mask tidak benar (didekat `%s')"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Field `%s' tidak diketahui"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "tidak dapat menset waktu di `%s'"
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "tidak dapat memutus `%s'"
+msgstr "tidak dapat memutus '%s'"
 
-#: tests/genfile.c:701
-#, fuzzy, c-format
+#: tests/genfile.c:769
+#, c-format
 msgid "command failed: %s"
 msgstr "Perintah %s gagal"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "tidak dapat memutus `%s'"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Perintah keluar secara sukses\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Perintah gagal dengan status %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Perintah berakhir di sinyal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Perintah berhenti di sinyal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Perintah memberika core dump\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Perintah berakhir\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat membutuhkan nama berkas"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "urutkan nama untuk mengekstrak supaya cocok dengan archive"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence tidak dapat digunakan dalam mode operasi yang diminta"
+#~ msgid "same as both -p and -s"
+#~ msgstr "sama seperti baik -p dan -s"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Tidak dapat menggabungkan --listed-incremental dengan --newer"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order tidak kompatibel dengan --listed-incremental"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Pilihan --preserve sudah ditinggalkan, lebih baik gunakan --preserve-"
+#~ "permissions --preserve-order"
 
 #~ msgid "Field too long while reading snapshot file"
 #~ msgstr "Field terlalu panjang ketika membaca berkas snapshot"
@@ -2935,9 +2972,21 @@ msgstr "--stat membutuhkan nama berkas"
 #~ msgid "%s: Directory removed before we read it"
 #~ msgstr "%s: Direktori dihapus sebelum kita membacanya"
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "urutkan nama untuk mengekstrak supaya cocok dengan archive"
+
 #~ msgid "Invalid group"
 #~ msgstr "Grup tidak valid"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "--occurrence tidak dapat digunakan dalam mode operasi yang diminta"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Tidak dapat menggabungkan --listed-incremental dengan --newer"
+
+#~ msgid "--preserve-order is not compatible with --listed-incremental"
+#~ msgstr "--preserve-order tidak kompatibel dengan --listed-incremental"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "Ekstensi panjang header diluar dari jangkauan yang diijinkan"
 
index 38ff1ddc66a442472c6fbb2e59432953c4fbe09f..d313ba742913eea64f46c6fda40a7d72d712b85b 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index e4d608ece2e71d1e82bbcb9b550a7e05608f5eb1..d72c3483a2b669b5f9f30e8afa856d05b632c67c 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -1,67 +1,67 @@
 # Italian translation of GNU tar.
-# Copyright (C) 2008, 2009, 2010, 2011, 2013 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 2011, 2013, 2014, 2016 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 #
 # Lele Gaifax <lele@nautilus.eclipse.it>, 1996.
 # Marco d'Itri <md@linux.it>, 1998.
-# Milo Casagrande <milo@milo.name>, 2008-2010, 2011, 2013.
+# Milo Casagrande <milo@milo.name>, 2008-2010, 2011, 2013, 2014, 2016.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.27\n"
+"Project-Id-Version: tar-1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-09 10:20+0200\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-15 12:18+0100\n"
 "Last-Translator: Milo Casagrande <milo@milo.name>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"X-Generator: Gtranslator 2.91.6\n"
+"X-Generator: Poedit 1.8.7\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argomento %s non valido per %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argomento %s ambiguo per %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Gli argomenti validi sono:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: parametro ARGP_HELP_FMT sconosciuto"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Spazzatura in ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -69,143 +69,148 @@ msgstr ""
 "Gli argomenti obbligatori o facoltativi per le opzioni estese lo sono anche "
 "per le corrispondenti opzioni brevi."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Uso:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  o: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPZIONE...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Provare \"%s --help\" o \"%s --usage\" per ulteriori informazioni.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Segnalare i bug a %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Errore di sistema sconosciuto"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "Mostra questo aiuto"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "Mostra un breve messaggio sull'uso"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NOME"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "Imposta il nome del programma"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEC"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "Resta in attesa per SEC secondi (predefinito 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "Stampa la versione del programma"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ERRORE DEL PROGRAMMA) Nessuna versione conosciuta."
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: troppi argomenti\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ERRORE DEL PROGRAMMA) L'opzione dovrebbe essere stata riconosciuta."
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "Errore di scrittura"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: l'opzione \"%s\" è ambigua; possibilità:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: l'opzione \"%s\" è ambigua\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: l'opzione \"--%s\" richiede un argomento\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: opzione \"--%s\" non riconosciuta\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opzione non valida -- \"%c\"\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: l'opzione richiede un argomento -- \"%c\"\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: l'opzione \"-W %s\" richiede un argomento\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memoria esaurita"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "Impossibile registrare la directory di lavoro corrente"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "Impossibile ritornare alla directory di lavoro iniziale"
@@ -231,11 +236,11 @@ msgstr "Impossibile ritornare alla directory di lavoro iniziale"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "\""
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "\""
 
@@ -245,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[sSyY].*"
 
@@ -255,16 +260,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN].*"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pacchetto creato da %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pacchetto creato da %s\n"
@@ -272,11 +277,11 @@ msgstr "Pacchetto creato da %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -294,19 +299,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Scritto da %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Scritto da %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Scritto da %s, %s e %s.\n"
@@ -314,7 +319,7 @@ msgstr "Scritto da %s, %s e %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -326,7 +331,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -338,7 +343,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -350,7 +355,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -362,7 +367,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -376,7 +381,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -390,7 +395,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -405,7 +410,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -415,22 +420,22 @@ msgstr ""
 "Segnalare i bug a: %s\n"
 "Segnalare i bug di traduzione a: <tp@lists.linux.it>\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Segnalare i bug di %s a: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sito web di %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Sito web di %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Aiuto per l'utilizzo di software GNU: <http://www.gnu.org/gethelp/>\n"
 
@@ -598,8 +603,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NUMERO"
 
@@ -607,10 +612,11 @@ msgstr "NUMERO"
 msgid "set debug level"
 msgstr "Imposta il livello di debug"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FILE"
 
@@ -623,7 +629,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:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "troppi argomenti"
@@ -632,114 +638,117 @@ msgstr "troppi argomenti"
 msgid "Garbage command"
 msgstr "Comando spazzatura"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Questo non sembra un archivio tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Byte totali letti"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Byte totali scritti"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Byte totali eliminati: %s\n"
+msgstr "Byte totali eliminati"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Lettura del contenuto dell'archivio dal terminale non consentita (manca "
+"l'opzione -f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Scrittura del contenuto dell'archivio sul terminale non consentita (manca "
+"l'opzione -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Valore di record_size non valido"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Non è stato indicato il nome di un archivio"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Impossibile verificare archivi su stdin/stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "L'archivio è compresso. Usare l'opzione %s."
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Impossibile aggiornare archivi compressi"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "All'inizio del nastro, uscita immediata"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Troppi errori, uscita"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek non si è fermata al limite di un record"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contiene un numero di volume non valido"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Overflow del numero di volume"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Preparare il volume #%d per %s e premere Invio: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Ricevuto EOF quando era attesa la risposta dell'utente"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "Attenzione: l'archivio non è completo"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -751,67 +760,67 @@ msgstr ""
 " q             Termina tar\n"
 " y o Invio     Continua l'operazione\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Esegue una subshell\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Stampa questo elenco\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Nessun nuovo volume; uscita.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Nome file non specificato. Riprovare.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Input non valido. Premere ? per l'aiuto.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "comando \"%s\" non riuscito"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s non continua su questo volume"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s non continua su questo volume"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s è la dimensione sbagliata (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Questo volume è fuori sequenza (%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "L'archivio non ha un'etichetta corrispondente a %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Il volume %s non corrisponde a %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -819,7 +828,7 @@ msgstr ""
 "%s: il nome del file è troppo lungo per essere scritto in un'intestazione "
 "GNU multi-volume, troncato"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "write non si è fermata al limite di un record"
 
@@ -830,20 +839,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "I contenuti sono differenti"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "EOF inatteso nell'archivio"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "I tipi dei file sono diversi"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "I modi sono diversi"
 
@@ -859,7 +868,7 @@ msgstr "I GID sono diversi"
 msgid "Mod time differs"
 msgstr "Gli orari di modifica sono diversi"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Le dimensioni sono diverse"
 
@@ -868,139 +877,139 @@ msgstr "Le dimensioni sono diverse"
 msgid "Not linked to %s"
 msgstr "Non è collegato a %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "I collegamenti simbolici sono diversi"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "I numeri dei device sono diversi"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verifica "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "L'archivio contiene nomi di file con i prefissi iniziali rimossi."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "L'archivio contiene nomi di file trasformati."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "La verifica potrebbe non riuscire a trovare i file originali."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Un singolo blocco di zeri a %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: contiene un'etichetta di directory cache %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valore %s fuori dall'intervallo (%s) %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Generazione delle intestazioni ottali negative"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: il nome del collegamento è troppo lungo; non archiviato"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "contenuti non archiviati"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: tipo di file sconosciuto; file ignorato"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Collegamenti mancanti a %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: il file non è modificato; non archiviato"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: il file è l'archivio; non archiviato"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "directory non archiviata"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: file modificato mentre era in lettura"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket ignorato"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door ignorata"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Passaggio alla prossima intestazione"
 
@@ -1019,40 +1028,40 @@ msgstr "%s: orario %s inverosimilmente vecchio"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: l'orario %s è %s secondi nel futuro"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: incoerenza inaspettata nel creare la directory"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: file esistente saltato"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Estrazione file contigui come file normali"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr ""
 "Tentativo di estrazione dei collegamenti simbolici come collegamenti fisici"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Intestazione di nome lungo inattesa"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: tipo di file \"%c\" sconosciuto, estratto come file normale"
@@ -1064,17 +1073,17 @@ msgstr "%s: tipo di file \"%c\" sconosciuto, estratto come file normale"
 #               quote (file_name)));
 #        return 0;
 #      }
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, 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:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: impossibile eseguire il backup di questo file"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Impossibile rinominare %s in %s"
@@ -1124,16 +1133,16 @@ msgstr "Numero dell'inode non valido"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: byte %s: %s %.*s... troppo lungo"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "EOF inatteso nel file di snapshot"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: byte %s: %s %s seguito dal byte non valido 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1142,113 +1151,113 @@ msgstr ""
 "%s: byte %s: (intervallo valido %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Record finale mancante"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Formato file incrementale errato"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Versione formato incrementale non supportata: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "dumpdir malformata: atteso \"%c\", ma trovato %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "dumpdir malformata: \"X\" duplicata"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "dumpdir malformata: nessun nome in \"R\""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "dumpdir malformata: \"T\" non preceduta da \"R\""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "dumpdir malformata: nessun nome in \"T\""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "dumpdir malformata: \"X\" mai usata"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Impossibile creare la directory temporanea usando il modello %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: eliminazione directory non eseguita: impossibile fare stat"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: eliminazione di %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: impossibile rimuoverlo"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: omesso"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blocco %s: ** Blocco di NUL **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blocco %s: ** Fine del file **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blocco %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1256,88 +1265,88 @@ msgstr ""
 "che sia in complemento a due"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "L'archivio contiene intestazioni base-64 obsolete"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " collegamento a %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo di file sconosciuto %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Collegamento lungo--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nome lungo--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Intestazione del volume--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua al byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Creazione directory:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Rinomina di %s in %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: impossibile rinominarlo in %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Rinomina di %s nuovamente in %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: file rimosso prima di poterlo leggere"
@@ -1350,30 +1359,189 @@ msgstr "il processo figlio"
 msgid "interprocess channel"
 msgstr "il canale tra processi"
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Selezione dei nomi file locali:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "Passa alla directory DIR"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "Prende i nomi da estrarre o creare dal file FILE"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T legge nomi terminati da NULL, implica --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "Disabilita l'effetto dell'opzione --null precedente"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"Toglie i caratteri di citazione dai nomi dei file o dei membri (predefinito)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "Non toglie i caratteri di citazione dai nomi dei file o dei membri"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T legge i nomi file come sono (senza gestione opzioni)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+"-T considera i nomi file che iniziano con un trattino come opzioni "
+"(predefinito)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MODELLO"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "Esclude i file i cui nomi corrispondono a MODELLO"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "Esclude i modelli elencati in FILE"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"Esclude i contenuti delle directory contenenti CACHEDIR.TAG, a parte il "
+"file .TAG stesso"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "Esclude tutto quanto all'interno di directory contenenti CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "Esclude le directory contenenti CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"Esclude i contenuti delle directory contenenti FILE, a parte FILE stesso "
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "Legge i modelli di esclusione per ogni directory da FILE (se esiste)"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"Legge i modelli di esclusione per ogni directory e sotto-directory da FILE "
+"(se esiste)"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "Esclude tutto quanto all'interno di directory contenenti FILE"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "Esclude le directory contenenti FILE"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "Esclude le directory dei sistemi di controllo della versione"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "Legge i file di esclusione dai file \"ignore\" dei CVS"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "Esclude i file di backup e di blocco"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "Entra ricorsivamente nelle directory (predefinito)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "Non entra automaticamente nelle directory"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "I modelli corrispondono all'inizio del nome del file"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+"I modelli corrispondono dopo qualsiasi \"/\" (predefinito per le esclusioni)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "Non fa differenza tra maiuscole e minuscole"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "Considera diverse le maiuscole e le minuscole (predefinito)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "Utilizza i metacaratteri (predefinito per le esclusioni)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "Corrispondenza letterale della stringa"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "I metacaratteri corrispondono \"/\" (predefinito per le esclusioni)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "I metacaratteri non corrispondono \"/\""
+
+#: src/names.c:768
 msgid "command line"
 msgstr "riga di comando"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: l'elenco file richiesto da %s è già stato letto da %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "impossibile dividere la stringa \"%s\": %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: il nome di file letto contiene un carattere NULL"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Usati caratteri di corrispondenza nei nomi dei file."
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1381,47 +1549,47 @@ msgstr ""
 "Usare --wildcards per abilitare la corrispondenza o --no-wildcards per "
 "disabilitare l'avviso"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: non trovato nell'archivio"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: occorrenza richiesta non trovata nell'archivio"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Etichetta dell'archivio non corrispondente"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Solo un'opzione -C è consentita con --listed-incremental"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Le opzioni \"-%s\" e \"-%s\" richiedono entrambe lo standard input"
+msgstr "Le opzioni \"%s\" e \"%s\" richiedono entrambe lo standard input"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: formato dell'archivio non valido"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Richieste funzionalità GNU su un formato di archivio incompatibile"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1429,7 +1597,7 @@ msgstr ""
 "Stile di citazione \"%s\" non conosciuto. Provare \"%s --quoting-style=help"
 "\" per visualizzarne un elenco."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1448,7 +1616,7 @@ msgstr ""
 "  tar -tvf archivio.tar            # Elenca i file in archivio.tar\n"
 "  tar -xf archivio.tar             # Estrae tutti i file da archivio.tar\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1470,81 +1638,89 @@ msgstr ""
 "  nil, existing   Numerati se esistono backup numerati, altrimenti semplici\n"
 "  never, simple   Esegue sempre backup semplici\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Modi operativi principali:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "Elenca i contenuti dell'archivio"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "Estrae file da un archivio"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "Crea un nuovo archivio"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "Trova differenze tra l'archivio e il file system"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "Accoda i file alla fine di un archivio"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "Accoda solo i file più recenti della copia nell'archivio"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "Aggiunge il contenuto di un altro archivio"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "Elimina dall'archivio (non su nastri magnetici)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "Verifica l'etichetta di volume dell'archivio ed esce"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modificatori delle operazioni:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "Gestisce efficientemente i file sparsi"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TIPO"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "Tecnica per rilevare i buchi"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
 # (ndt) hmmm... formato sparso...
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "gestisce i vecchi backup incrementali GNU"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "Gestisce il nuovo formato di backup incrementali GNU"
 
 # (ndt) suggerimenti?
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "Livello di dump per l'archivio a lista incrementale creato"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "Non esce con non-zero quando ci sono file non leggibili"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1557,139 +1733,148 @@ msgstr ""
 "sulla riga di comando o attraverso l'opzione -T; il valore predefinito di "
 "NUMERO è 1"
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "L'archivio è posizionabile"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "L'archivio non è posizionabile"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "Non controlla i numeri del device quando crea archivi incrementali"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "Controlla i numeri del device quando crea archivi incrementali (predefinito)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Controlli di sovrascrittura:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "Tenta di verificare l'archivio dopo averlo scritto"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "Rimuove i file dopo averli aggiunti all'archivio"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 "Durante l'estrazione non sovrascrive i file esistenti, li considera errori"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "Durante l'estrazione non sovrascrive i file esistenti, li ignora"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "Sovrascrive i file esistenti durante l'estrazione"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "Rimuove ogni file prima di estrarre su di esso"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "Svuota le directory prima di estrarle"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "Preserva i metadati delle directory esistenti"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "Sovrascrive i metadati delle directory esistenti durante l'estrazione "
 "(predefinito)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "Mantiene i collegamenti simbolici a directory durante l'estrazione"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "Crea una sotto-directory per non avere file sparsi"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Selezione stream di output:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "Estrae i file sullo standard output"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "COMANDO"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "Invia in pipe i file estratti a un altro programma"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "Ignora il codice di uscita dei figli"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "Considera i codici di uscita non-zero come un errore"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Gestione degli attributi dei file:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "Forza NOME come proprietario per i file aggiunti"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "Forza NOME come gruppo per i file aggiunti"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "Usa FILE per mappare gli UID dei proprietari del file e i nomi"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "Usa FILE per mappare i GID dei proprietari del file e i nomi"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATA-O-FILE"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "Imposta mtime per i file aggiunti da DATA-O-FILE"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "CAMBI"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "Forza il modo CAMBI (simbolico) per i file aggiunti"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODO"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1699,11 +1884,11 @@ msgstr ""
 "dopo la lettura (METODO=\"replace\"; predefinito) o impostando l'orario "
 "all'inizio (METODO=\"system\")"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "Non estrae l'orario di ultima modifica del file"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1711,22 +1896,22 @@ msgstr ""
 "Cerca di estrarre i file con lo stesso proprietario come presente "
 "nell'archivio (predefinito per il super utente)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 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:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "Usa sempre i numeri per i nomi di utente/gruppo"
 
-#: src/tar.c:551
+#: src/tar.c:535
 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:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1734,16 +1919,12 @@ msgstr ""
 "Applica la umask dell'utente nell'estrarre i permessi dall'archivio "
 "(predefinito per gli utenti normali)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr "Gli argomenti sono elencati nello stesso ordine dei file nell'archivio"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "Come -p e -s assieme"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1751,187 +1932,187 @@ msgstr ""
 "Ritarda l'impostazione dei tempi di modifica e dei permessi delle directory "
 "estratte al termine dell'estrazione"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "Annulla l'effetto dell'opzione --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDINAMENTO"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "Ordinamento della directory: none (predefinito) o name"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Gestione degli attributi estesi dei file:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Abilita supporto degli attributi estesi"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Disabilita supporto degli attributi estesi"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASCHERA"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "Specifica il modello di inclusione per le chiavi xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "Specifica il modello di esclusione per le chiavi xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Abilita supporto contesto SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Disabilita supporto contesto SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Abilita support ACL POSIX"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Disabilita supporto ACL POSIX"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Selezione e cambio del device:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIVIO"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "Usa come archivio il file o il dispositivo ARCHIVIO"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "L'archivio è locale anche se contiene \":\""
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "Usa il COMANDO rmt indicato invece di rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "Usa il COMANDO remoto invece di rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "Indica drive e densità"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "Crea, elenca, estrae archivi multi-volume"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "Cambia il nastro dopo avere scritto NUMERO × 1024 byte"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "Esegue lo script alla fine di ogni nastro (implica -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "Usa/aggiorna il numero del volume nel FILE"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blocchi del device:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOCCHI"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "Usa record di BLOCCHI × 512 byte"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NUMERO di byte per record, multiplo di 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "Ignora i blocchi a zero nell'archivio (significa EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 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:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Selezione formato di archiviazione:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "Crea archivi nel formato indicato"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMATO è uno dei seguenti:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "Vecchio formato di tar V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "Formato GNU di tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "Formato GNU di tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "Formato POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "Formato POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "Come pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "Come --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "Come --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "PAROLA_CHIAVE[[:]=VALORE][,PAROLA_CHIAVE[[:]=VALORE], ...]"
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "Controlla le parole chiavi di pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TESTO"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1939,189 +2120,87 @@ 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:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Opzioni di compressione:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 "Usa il suffisso dell'archivio per determinare il programma di compressione"
 
-#: src/tar.c:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "Filtra attraverso PROG (deve accettare -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Selezione dei file locali:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "Passa alla directory DIR"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "Prende i nomi da estrarre o creare dal file FILE"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T legge nomi terminati da NULL, disabilita -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "Disabilita l'effetto dell'opzione --null precedente"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"Toglie i caratteri di citazione dai nomi dei file letti con -T (predefinito)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "Non toglie i caratteri di citazione dai nomi dei file letti con -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "MODELLO"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "Esclude i file i cui nomi corrispondono a MODELLO"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "Esclude i modelli elencati in FILE"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"Esclude i contenuti delle directory contenenti CACHEDIR.TAG, a parte il "
-"file .TAG stesso"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "Esclude tutto quanto all'interno di directory contenenti CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "Esclude le directory contenenti CACHEDIR.TAG"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "Esclude tutto quanto all'interno di directory contenenti FILE"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "Esclude le directory contenenti FILE"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "Esclude le directory dei sistemi di controllo della versione"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "Esclude i file di backup e di blocco"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "Non entra automaticamente nelle directory"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "Resta nel file system locale durante la creazione dell'archivio"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "Entra ricorsivamente nelle directory (predefinito)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 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:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "NOME"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "Inizia dal membro NOME durante la lettura dell'archivio"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "Archivia solo i file più recenti di DATA-O-FILE"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "Confronta data e ora solo quando il contenuto è cambiato"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTROLLO"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "Esegue un backup prima di rimuovere, usando il CONTROLLO di versione"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "STRINGA"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2129,102 +2208,63 @@ 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:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Trasformazioni dei nomi di file:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "ESPRESSIONE"
 
-#: src/tar.c:786
+#: src/tar.c:718
 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:792
-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:795
-msgid "ignore case"
-msgstr "Non fa differenza tra maiuscole e minuscole"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "I modelli corrispondono all'inizio del nome del file"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-"I modelli corrispondono dopo qualsiasi \"/\" (predefinito per le esclusioni)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "Considera diverse le maiuscole e le minuscole (predefinito)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "Utilizza i metacaratteri (predefinito per le esclusioni)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "Corrispondenza letterale della stringa"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "I metacaratteri non corrispondono \"/\""
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "I metacaratteri corrispondono \"/\" (predefinito per le esclusioni)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Output informativo:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "Elenca prolissamente i file elaborati"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "PAROLACHIAVE"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "Controllo di avviso"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Visualizza un messaggio di avanzamento ogni NUMERO-esimo record (predefinito "
 "10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "AZIONE"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "Esegue l'azione a ogni punto di controllo"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "Stampa un messaggio se non tutti i collegamenti sono archiviati"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SEGNALE"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2236,35 +2276,35 @@ msgstr ""
 "sono: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2; sono accettati anche i "
 "nomi senza il prefisso SIG"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "Stampa le date di modifica del file in formato UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "Stampa la data del file in tutti i suoi dettagli"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "Invia l'output prolisso al FILE"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "Mostra il numero di blocco nell'archivio con ogni messaggio"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "Chiede conferma per ogni azione"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "Mostra le impostazioni predefinite di tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "Mostra gli intervalli validi per i campi snapshot-file"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2272,33 +2312,33 @@ msgstr ""
 "All'elencazione o all'estrazione, elenca ogni directory che non corrisponde "
 "al criterio di ricerca"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "Mostra il nome del file o dell'archivio dopo la trasformazione"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STILE"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "Caratteri di citazione aggiuntivi da STRINGA"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "Disabilita la citazione per i caratteri dalla STRINGA"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Opzioni di compatibilità:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2306,15 +2346,22 @@ msgstr ""
 "Alla creazione, uguale a --old-archive; all'estrazione, uguale a --no-same-"
 "owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Altre opzioni:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "Disabilita l'uso di alcune opzioni potenzialmente dannose"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "L'opzione \"%s\" non può essere usata con \"%s\""
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2322,40 +2369,40 @@ msgstr ""
 "Non è possibile indicare più di un'opzione \"-Acdtrux\", \"--delete\" o \"--"
 "test-label\""
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Conflitto tra le opzioni di compressione"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nome del segnale sconosciuto: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "File campione della data non trovato"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, 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:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Opzione %s: la data \"%s\" viene considerata come %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "Filtra l'archivio attraverso %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Argomenti validi per l'opzione --quoting-style sono:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2363,187 +2410,198 @@ msgstr ""
 "\n"
 "Questa versione di tar ha le seguenti impostazioni predefinite:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Proprietario o ID gruppo non valido"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Fattore del blocco non valido"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Lunghezza del nastro non valida"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Valore del livello incrementale non valido"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Più di una data di soglia"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Valore versione sparsa non valido"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve=\"system\" non è supportato su questa piattaforma"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "Il valore --checkpoint non è un intero"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Modo fornito sull'opzione non valido"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Numero non valido"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"L'opzione --preserve è deprecata, usare --preserve-permissions --preserve-"
-"order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Dimensione del record non valida"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Numero di elementi non valido"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Consentita solo un'opzione --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argomento densità non corretto: \"%s\""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densità sconosciuta: \"%c\""
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: posizione dell'errore"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "Errore nell'analizzare %s"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FILE]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "L'opzione --%s non può essere usata con %s"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "argomenti non opzione in %s"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "impossibile dividere TAR_OPTIONS: %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "La vecchia opzione \"%c\" richiede un argomento."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence non ha senso senza un elenco di file"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Archivi multipli richiedono l'opzione \"-M\""
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "L'opzione --level non è utilizzabile senza --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Impossibile verificare archivi multi-volume"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Impossibile verificare archivi compressi"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Impossibile usare archivi multi-volume compressi"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Impossibile concatenare archivi compressi"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option può essere usata solo su archivi POSIX"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls può essere usata solo su archivi POSIX"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux può essere usata solo su archivi POSIX"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs può essere usata solo su archivi POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Impossibile determinare il nome della directory principale, impostarlo con --"
+"one-top-level=DIR"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 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:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Rifiuto totale di creare un archivio vuoto"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Le opzioni \"-Aru\" sono incompatibili con \"-f -\""
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "È necessario specificare una delle opzioni \"-Acdtrux\", \"--delete\" o \"--"
 "test-label\""
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Uscita con stato di fallimento in base agli errori precedenti"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "Ordinamento della directory: none (predefinito), name o inode"
 
 #: src/update.c:87
 #, c-format
@@ -2597,7 +2655,7 @@ msgstr "Intestazione estesa malformata: manca un newline"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Parola chiave sconosciuta \"%s\" dell'intestazione estesa ignorata"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2606,28 +2664,28 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Intestazione estesa malformata: %s=%s non valido"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Intestazione estesa malformata: %s=%s in eccesso"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2669,7 +2727,7 @@ msgstr "Punto di controllo di scrittura %u"
 msgid "Read checkpoint %u"
 msgstr "Punto di controllo di lettura %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2677,72 +2735,76 @@ msgstr ""
 "genfile manipola i file per la suite di test GNU paxutils.\n"
 "Le opzioni sono:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Opzioni di creazione file:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "DIMENSIONE"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Crea file della DIMENSIONE indicata"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Scrive sul file NOME invece dello standard output"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Legge i nomi dei file da FILE"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T legge nomi terminati da NULL"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Riempie il file con il MODELLO fornito. MODELLO è \"default\" o \"zeros\""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Dimensione del blocco per il file sparso"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Genera file sparso. Il resto della riga di comando fornisce la mappa del "
 "file."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "OFFSET"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Si posiziona all'OFFSET indicato prima di scrivere i dati"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Opzioni per le statistiche:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Stampa i contenuti di struct stat per ogni file dato. Il FORMATO predefinito "
 "è:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Opzioni di esecuzione sincrona:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPZIONE"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2750,22 +2812,22 @@ msgstr ""
 "Esegue ARGOMENTI. Utile con --checkpoint e uno tra --cut, --append, --touch, "
 "--unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Esegue l'azione indicata (consultare più sotto) al raggiungimento del punto "
 "di controllo NUMERO"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Imposta la data per l'opzione --touch successiva"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Visualizza i punti di controllo eseguiti e lo stato di uscita del COMANDO"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2773,7 +2835,7 @@ msgstr ""
 "Azioni di esecuzione sincrona. Queste sono eseguite quando viene raggiunto "
 "il punto di controllo fornito dall'opzione --checkpoint."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2781,85 +2843,85 @@ msgstr ""
 "Tronca il FILE alla dimensione specificata dall'opzione --length precedente "
 "(0 se non viene fornita)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Aggiunge DIMENSIONE byte al FILE. DIMENSIONE è fornita dall'opzione --length "
 "precedente."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Aggiorna l'orario di accesso e modifica del FILE"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Esegue il COMANDO"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Esegue l'unlink di FILE"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Dimensione non valida: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Numero fuori dall'intervallo consentito: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Dimensione negativa: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) non riuscita"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "lunghezza file richiesta %lu, effettiva %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "il file creato non è sparso"
 
 # (ndt) ?
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Errore nell'analizzare il numero vicino a \"%s\""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Formato data non conosciuto"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGOMENTI...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "impossibile aprire \"%s\""
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "impossibile eseguire seek"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "il nome del file contiene caratteri NULL"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
@@ -2867,79 +2929,77 @@ msgstr ""
 "file"
 
 # (ndt) ?
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "maschera non corretta (vicino a \"%s\")"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Campo \"%s\" sconosciuto"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "impossibile impostare l'orario su \"%s\""
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "impossibile troncare \"%s\""
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "comando non riuscito: \"%s\""
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "impossibile eseguire l'unlink di %s"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Comando eseguito con successo\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Comando non riuscito con lo stato %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Comando terminato al segnale %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Comando fermato al segnale %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Il comando ha fatto un dump del core\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Comando terminato\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat richiede i nomi dei file"
 
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence non può essere usata con %s"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Impossibile combinare --listed-incremental e --newer"
-
-#~ msgid "--verify cannot be used with %s"
-#~ msgstr "--verify non può essere usata con %s"
+#~ msgid "same as both -p and -s"
+#~ msgstr "Come -p e -s assieme"
 
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order non è compatibile con --listed-incremental"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "L'opzione --preserve è deprecata, usare --preserve-permissions --preserve-"
+#~ "order"
index 6df323d1bd8439215228d33d0bc1fa95c61feee6..353eebab89e7a55c1fa336c318295132b53e133f 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index dc272437352d5825515fcc953f29032583a973f7..b614c398bfd636e0af16aeda896c08a6058eeafe 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,18 +1,18 @@
-# Japanese messages for GNU tar 1.27
-# Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+# Japanese messages for GNU tar 1.28.90
+# Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
-# Masahito Yamaga <ma@yama-ga.com>, 2013.
+# Masahito Yamaga <ma@yama-ga.com>, 2016.
 #  derived from the version by
 #              Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 1999-2001.
 #              Masahito Yamaga <yamaga@ipc.chiba-u.ac.jp>, 2007.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.27\n"
+"Project-Id-Version: GNU tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-07 08:18+0900\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-15 20:12+0900\n"
 "Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
 "Language: ja\n"
@@ -21,46 +21,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=0;\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "°ú¿ô %s ¤Ï %s ¤ËÂФ·¤Æ̵¸ú¤Ç¤¹"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "°ú¿ô %s ¤Ï %s ¤ËÂФ·¤Æ¤¢¤¤¤Þ¤¤¤Ç¤¹"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Àµ¤·¤¤°ú¿ô¤Ï:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: ARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿¤ÏÃͤ¬É¬Í×"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿¤ÏÀµ¤ÎÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Ì¤ÃΤΠARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "ARGP_HELP_FMT ¤Ë¥´¥ß: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -68,143 +68,148 @@ msgstr ""
 "Ť¤¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëɬ¿Ü¤Þ¤¿¤ÏǤ°Õ¤Î°ú¿ô¤ÏÂбþ¤¹¤ëû¤¤¥ª¥×¥·¥ç¥ó¤ËÂФ·¤Æ¤â"
 "ɬ¿Ü¤Þ¤¿¤ÏǤ°Õ¤Ç¤¹."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "»ÈÍÑË¡:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  ¤Þ¤¿¤Ï: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [¥ª¥×¥·¥ç¥ó...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï '%s --help' ¤Þ¤¿¤Ï '%s --usage' ¤Ç.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Þ¤Ç.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "ÉÔÌÀ¤Ê¥·¥¹¥Æ¥à¥¨¥é¡¼"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "¤³¤Î¥Ø¥ë¥×°ìÍ÷¤òɽ¼¨"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "û¤¤»ÈÍÑË¡¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NAME"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "¥×¥í¥°¥é¥à̾¤ò»ØÄê"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SECS"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "SECS ÉÃÄä»ß (ɸ½à 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "¥×¥í¥°¥é¥à¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(¥×¥í¥°¥é¥à¥¨¥é¡¼) ¥Ð¡¼¥¸¥ç¥óÉÔÌÀ!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: °ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(¥×¥í¥°¥é¥à¥¨¥é¡¼) ¥ª¥×¥·¥ç¥óǧ¼±ÉÔǽ!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹. ²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ï"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó '%c%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: Ì¤ÃΤΥª¥×¥·¥ç¥ó '--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: Ì¤ÃΤΥª¥×¥·¥ç¥ó '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: Ìµ¸ú¤Ê¥ª¥×¥·¥ç¥ó -- '%c'\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹ -- '%c'\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "¥á¥â¥ê¤ò»È¤¤ÀÚ¤ê¤Þ¤·¤¿"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "¸½ºß¤Î¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤òµ­Ï¿¤Ç¤­¤Þ¤»¤ó"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "½é´ü¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
@@ -230,11 +235,11 @@ msgstr "
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -244,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yY]"
 
@@ -254,16 +259,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "¥Ñ¥Ã¥±¡¼¥¸²½: %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "¥Ñ¥Ã¥±¡¼¥¸²½: %s\n"
@@ -271,11 +276,11 @@ msgstr "
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -296,19 +301,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "ºî¼Ô: %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "ºî¼Ô: %s, %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "ºî¼Ô: %s, %s, %s.\n"
@@ -316,7 +321,7 @@ msgstr "
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -328,7 +333,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -340,7 +345,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -352,7 +357,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -364,7 +369,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -378,7 +383,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -392,7 +397,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -407,7 +412,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -416,22 +421,22 @@ msgstr ""
 "\n"
 "¥Ð¥°¥ì¥Ý¡¼¥È°¸Àè: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "%s ¥Ð¥°¤Î¥ì¥Ý¡¼¥È°¸Àè: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s ¥Û¡¼¥à¥Ú¡¼¥¸: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s ¥Û¡¼¥à¥Ú¡¼¥¸: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "GNU ¥½¥Õ¥È¥¦¥§¥¢»ÈÍѾå¤Î°ìÈÌŪ¥Ø¥ë¥×: <http://www.gnu.org/gethelp/>\n"
 
@@ -596,8 +601,8 @@ msgstr "ͽ
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "±ó³Ö¥×¥í¥»¥¹¤«¤é¤ÎÌ¿Îá¤ò¼õ¤±ÉÕ¤±¤Æ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤òÁàºî"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NUMBER"
 
@@ -605,10 +610,11 @@ msgstr "NUMBER"
 msgid "set debug level"
 msgstr "¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤òÀßÄê"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FILE"
 
@@ -621,7 +627,7 @@ msgstr "
 msgid "cannot open %s"
 msgstr "%s ¤ò³«¤±¤Þ¤»¤ó"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
@@ -630,112 +636,111 @@ msgstr "
 msgid "Garbage command"
 msgstr "ÉÔÍפʥ³¥Þ¥ó¥É"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "¤³¤ì¤Ï tar ¥¢¡¼¥«¥¤¥Ö¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "ÁíÆɤ߹þ¤ß¥Ð¥¤¥È¿ô"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Áí½ñ¤­½Ð¤·¥Ð¥¤¥È¿ô"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Áíºï½ü¥Ð¥¤¥È¿ô: %s\n"
+msgstr "Áíºï½ü¥Ð¥¤¥È¿ô"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(¥Ñ¥¤¥×)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "üËö¤«¤é¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍƤòÆɤ߼è¤ë¤Î¤òµñÈÝ (-f ¥ª¥×¥·¥ç¥ó¤Î»ØÄê˺¤ì?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "üËö¤Ë¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍƤò½ñ¤­½Ð¤¹¤Î¤òµñÈÝ (-f ¥ª¥×¥·¥ç¥ó¤Î»ØÄê˺¤ì?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "record_size ¤¬Ìµ¸ú¤ÊÃͤǤ¹"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "¥¢¡¼¥«¥¤¥Ö̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "ɸ½àÆþ½ÐÎϤΥ¢¡¼¥«¥¤¥Ö¤Ï¸¡¾Ú¤Ç¤­¤Þ¤»¤ó"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹. %s ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤­¤Þ¤»¤ó"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "¥Æ¡¼¥×¤ÎÀèƬ¤Ç¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "¥¨¥é¡¼¤¬Â¿¤¹¤®¤Þ¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "µ­Ï¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯"
 msgstr[1] "µ­Ï¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò¸å¤íÊý¸þ¤ËÌ᤻¤Þ¤»¤ó. -i ¤Ê¤·¤Ç¤ÏÆɤá¤Ê¤¤¤«¤âÃΤì¤Þ¤»¤ó."
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ¤òµ­Ï¿¤Î¶­³¦¤Ç»ß¤á¤Þ¤»¤ó"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: Ìµ¸ú¤Ê¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "¥Ü¥ê¥å¡¼¥àÈֹ椬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "¥Ü¥ê¥å¡¼¥à #%d (%s) ¤ò½àÈ÷¤·¤Þ¤¹. ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "¥æ¡¼¥¶¤¬±þÅú¤¹¤ë EOF ¤¬É¬ÍפȤʤê¤Þ¤¹"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "·Ù¹ð: ¥¢¡¼¥«¥¤¥Ö¤¬ÉÔ´°Á´¤Ç¤¹"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -747,67 +752,67 @@ msgstr ""
 " q             tar ¤ò½ªÎ»\n"
 " y ¤Þ¤¿¤Ï²þ¹Ô  Áàºî¤ò·Ñ³\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             ¥µ¥Ö¥·¥§¥ë¤òµ¯Æ°\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             ¤³¤Î¥ê¥¹¥È¤òɽ¼¨\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "¿·¤·¤¤¥Ü¥ê¥å¡¼¥à¤¬¤¢¤ê¤Þ¤»¤ó. ½ªÎ»¤·¤Þ¤¹.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "¥Õ¥¡¥¤¥ë̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó. ¤â¤¦°ìÅÙ.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "ÉÔÀµ¤ÊÆþÎÏ. ? ¤Ç¥Ø¥ë¥×¤òɽ¼¨\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "%s ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤ÇϢ³¤·¤Æ¤¤¤Þ¤»¤ó"
+
+#: src/buffer.c:1523
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤Ç¤ª¤½¤é¤¯Ï¢Â³¤·¤Æ¤¤¤Þ¤¹: ¥Ø¥Ã¥À¤Ï¾Êά¤µ¤ì¤¿Ì¾Á°¤ò´Þ¤ó¤Ç"
 "¤¤¤Þ¤¹"
 
-#: src/buffer.c:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤ÇϢ³¤·¤Æ¤¤¤Þ¤»¤ó"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s ¤ÏÉÔÀµ¤Ê¥µ¥¤¥º¤Ç¤¹ (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "¤³¤Î¥Ü¥ê¥å¡¼¥à¤ÏϢ³¤·¤Æ¤¤¤Þ¤»¤ó (%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï %s ¤Ë°ìÃפ¹¤ë¥é¥Ù¥ë¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "¥Ü¥ê¥å¡¼¥à %s ¤Ï %s ¤Ë°ìÃפ·¤Þ¤»¤ó"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -815,7 +820,7 @@ msgstr ""
 "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤Æ GNU ¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À¤ËÊݸ¤Ç¤­¤Ê¤¤¤Î¤ÇÀÚ¤ê¼Î¤Æ"
 "¤Þ¤¹"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "½ñ¤­¹þ¤ß¤¬¥Ö¥í¥Ã¥¯¶­³¦¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó"
 
@@ -826,20 +831,20 @@ msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "%lu ¥Ð¥¤¥È¤À¤±¤ò %lu ¥Ð¥¤¥È¤«¤éÆɤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿"
 msgstr[1] "%lu ¥Ð¥¤¥È¤À¤±¤ò %lu ¥Ð¥¤¥È¤«¤éÆɤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿"
 
-#: src/compare.c:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "ÆâÍƤ¬°Û¤Ê¤ê¤Þ¤¹"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Ëͽ´ü¤»¤Ì EOF ¤¬¤¢¤ê¤Þ¤¹"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬°Û¤Ê¤ê¤Þ¤¹"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "¥â¡¼¥É¤¬°Û¤Ê¤ê¤Þ¤¹"
 
@@ -855,7 +860,7 @@ msgstr "
 msgid "Mod time differs"
 msgstr "ºÇ½ª½¤Àµ»þ¹ï¤¬°Û¤Ê¤ê¤Þ¤¹"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "¥µ¥¤¥º¤¬°Û¤Ê¤ê¤Þ¤¹"
 
@@ -864,138 +869,138 @@ msgstr "
 msgid "Not linked to %s"
 msgstr "%s ¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬°Û¤Ê¤ê¤Þ¤¹"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "¥Ç¥Ð¥¤¥¹Èֹ椬°ã¤¤¤Þ¤¹"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "¸¡¾Ú"
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Ì¤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× '%c', Ä̾ï¥Õ¥¡¥¤¥ë¤Èº¹Ê¬¤ò¼è¤ê¤Þ¤¹"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤ËÀÜƬ¼­¤¬ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤¹."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÊÑ´¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "¸µ¤Î¥Õ¥¡¥¤¥ë¤Î½êºß³Îǧ¤Ë¼ºÇÔ¤·¤¿²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "%s ¤Ë¸ÉΩ¤·¤¿¥¼¥í¥Ö¥í¥Ã¥¯"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: ¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê ¥¿¥° %s ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "ÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s ¤Ë¤¢¤ê¤Þ¤»¤ó -- %s ¤òÂåÍÑ"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "ÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s ¤Ë¤¢¤ê¤Þ¤»¤ó"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Éé¤Î 8 ¿Ê¥Ø¥Ã¥À¤òÀ¸À®¤·¤Þ¤¹"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (ºÇÂç %d) ¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (ʬ³äÉÔǽ) ¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: ¥ê¥ó¥¯Ì¾¤¬Ä¹²á¤®¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: ¥Õ¥¡¥¤¥ë¤Ï°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "ÆâÍƤò¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Ì¤ÃΤΥե¡¥¤¥ë·Á¼°; ¥Õ¥¡¥¤¥ë¤Ï̵»ë¤µ¤ì¤Þ¤¹"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "%s ¤Ø¤Î¥ê¥ó¥¯¤¬¤¢¤ê¤Þ¤»¤ó."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: Êѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: ¤Ï¥¢¡¼¥«¥¤¥Ö¤Ê¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: Æɤ߹þ¤ó¤À¥Õ¥¡¥¤¥ë¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: ¥½¥±¥Ã¥È¤Ï̵»ë¤·¤Þ¤¹"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door ¤Ï̵»ë¤·¤Þ¤¹"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "¼¡¤Î¥Ø¥Ã¥À¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹"
 
@@ -1013,54 +1018,54 @@ msgstr "%s: 
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: ¥¿¥¤¥à¥¹¥¿¥ó¥× %s ¤Ï %s ÉÃÀè¤ò¼¨¤·¤Æ¤¤¤Þ¤¹"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥êºîÀ®»þ¤ËÉÔ¬¤ÎÌ·½â¤¬µ¯¤³¤ê¤Þ¤·¤¿"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: ´û¸¥Õ¥¡¥¤¥ë¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¾õÂÖ¤òŸ³«¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ëÁ°¤Ë̾Á°¤òÊѹ¹¤µ¤ì¤Þ¤·¤¿"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Ϣ³¤·¤¿¥Õ¥¡¥¤¥ë¤òÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤·¤Þ¤¹"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¥Ï¡¼¥É¥ê¥ó¥¯¤È¤·¤Æ¼è¤ê½Ð¤·¤Æ¤ß¤Þ¤¹"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: ¼è¤ê½Ð¤»¤Þ¤»¤ó -- ¥Õ¥¡¥¤¥ë¤ÏÊ̤Υܥê¥å¡¼¥à¤«¤é³¤¤¤Æ¤¤¤Þ¤¹"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "ͽ´ü¤»¤ÌŤ¤Ì¾Á°¥Ø¥Ã¥À"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Ì¤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× '%c', Ä̾ï¥Õ¥¡¥¤¥ë¤È¤·¤ÆÃê½Ð"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "¸½ºß¤Î %s ¤ÎÊý¤¬¿·¤·¤¤¤«Æ±¤¸"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s ¤Î̾Á°¤ò %s ¤ËÊѹ¹¤Ç¤­¤Þ¤»¤ó"
@@ -1110,16 +1115,16 @@ msgstr "̵
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: ¥Ð¥¤¥È %s: %s %.*s... Ä¹²á¤®¤Þ¤¹"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤Ëͽ´ü¤»¤Ì EOF"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: ¥Ð¥¤¥È %s: %s %s ¤¬ÉÔÀµ¤Ê¥Ð¥¤¥È 0x%02x ¤Ë³¤¤¤Æ¤¤¤Þ¤¹"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1128,199 +1133,199 @@ msgstr ""
 "%s: ¥Ð¥¤¥È %s: (ÀµÅö¤ÊÈÏ°Ï %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: ¥Ð¥¤¥È %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: ¥Ð¥¤¥È %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "½ªÃ¼µ­Ï¿¤Ê¤·"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "ÉÔÀµ¤ÊÁýʬ¥Õ¥¡¥¤¥ë·Á¼°"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "̤¼ÂÁõ¤ÎÁýʬ·Á¼°¥Ð¡¼¥¸¥ç¥ó: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: '%c' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'X' ¤¬½ÅÊ£"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'R' ¤Ë¶õ¤Î̾Á°"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'T' ¤¬ 'R' ¤ÎÁ°¤Ë¤Ê¤¤"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'T' ¤Ë¶õ¤Î̾Á°"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: '%c' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë¥Ç¡¼¥¿¤Î½ªÃ¼"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'X' ¤¬Ì¤»ÈÍÑ"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "¥Æ¥ó¥×¥ì¡¼¥È %s ¤ò»È¤Ã¤Æ°ì»þ¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ì¤Þ¤»¤ó"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Þ¤»¤ó: ¾õÂÖ¤¬Ê¬¤«¤ê¤Þ¤»¤ó"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï°Û¤Ê¤ë¥Ç¥Ð¥¤¥¹¾å¤Ë¤¢¤ë¤Î¤Ç¾Ãµî¤·¤Þ¤»¤ó"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s ¤òºï½ü\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: ºï½ü¤Ç¤­¤Þ¤»¤ó"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: ¾Êά¤·¤Þ¤¹"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "¥Ö¥í¥Ã¥¯ %s: ** NUL ¤Î¥Ö¥í¥Ã¥¯ **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "¥Ö¥í¥Ã¥¯ %s: ** ¥Õ¥¡¥¤¥ë¤Î½ªÃ¼ **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "¥Ö¥í¥Ã¥¯ %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "8 ¿Ê¿ôÃÍ %.*s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÇѤ줿 base-64 ¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Éä¹æÉÕ¤­ base-64 Ê¸»úÎó %s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹"
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s Æâ¤Ë¤¢¤ê¤Þ¤»¤ó"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " %s ¤Ø¤Î¥ê¥ó¥¯\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ÉÔÌÀ¤Ê¥Õ¥¡¥¤¥ë¥¿¥¤¥× %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Ť¤¥ê¥ó¥¯--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Ť¤Ì¾Á°--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--¥Ð¥¤¥È %s ¤ÇϢ³--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "̾Á°¤ò %s ¤«¤é %s ¤ËÊѹ¹¤·¤Þ¤¹\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Ì¾Á°¤ò %s ¤ËÊѹ¹¤Ç¤­¤Þ¤»¤ó"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "̾Á°¤ò %s ¤«¤é %s ¤ËÌᤷ¤Þ¤¹\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Æɤ߹þ¤ß°ÊÁ°¤Ëºï½ü¤µ¤ì¤Þ¤·¤¿"
@@ -1333,30 +1338,182 @@ msgstr "
 msgid "interprocess channel"
 msgstr "¥×¥í¥»¥¹´Ö¥Á¥ã¥Í¥ë"
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë̾ÁªÂò:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+"»ØÄꤵ¤ì¤¿ FILE ¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲà(¥À¥Ã¥·¥å ' ¤Ç»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¤ËÊØ"
+"Íø)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "¥Ç¥£¥ì¥¯¥È¥ê DIR ¤Ø°ÜÆ°"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "Ãê½Ð¤Þ¤¿¤ÏºîÀ®¤¹¤ë̾Á°¤ò¥Õ¥¡¥¤¥ë FILE ¤«¤é¼èÆÀ"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T ¤¬ null ¤Ç½ª¤ï¤ë̾Á°¤òÆɤ߹þ¤ß; --verbatim-files-from ¤ò°Å¼¨"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "Á°¤Î --null ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò̵¸ú²½"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼Ì¾¤ò°úÍѽªÎ»¤¹¤ë (ɸ½à)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼Ì¾¤ò°úÍѽªÎ»¤·¤Ê¤¤"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T ¤¬¥Õ¥¡¥¤¥ë̾¤òʸ»úÄ̤ê¤ËÆɤ߹þ¤ß (¥ª¥×¥·¥ç¥ó½èÍý¤Ê¤·)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr "-T ¤¬¥Õ¥¡¥¤¥ë̾¤ò¥À¥Ã¥·¥å¤Ç»Ï¤Þ¤ë¥ª¥×¥·¥ç¥ó¤È¤·¤Æ½èÍý (ɸ½à)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PATTERN"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "PATTERN ¤Ë°ìÃפ¹¤ë¥Õ¥¡¥¤¥ë¤ò½ü³°"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "FILE ¤ËÎóµó¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ò½ü³°"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr "¥¿¥°¥Õ¥¡¥¤¥ë¼«¿È¤ò½ü¤¯ CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "FILE ¼«¿È¤ò½ü¤¯ FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "³Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î½ü³°¥Ñ¥¿¡¼¥ó¤òFILE (¸ºß¤¹¤ë¾ì¹ç) ¤«¤éÆɤ߼è¤ê"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"³Æ¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î½ü³°¥Ñ¥¿¡¼¥ó¤òFILE (¸ºß¤¹¤ë¾ì¹ç) "
+"¤«¤éÆɤ߼è¤ê"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "½ü³°¥Ñ¥¿¡¼¥ó¤òVCS̵»ë¥Õ¥¡¥¤¥ë¤«¤éÆɤ߼è¤ê"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½ü³°¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò½ç·«¤ê¤Ë²¼¤Ã¤Æ¤¤¤¯ (default)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤Ë²¼¤Ã¤Æ¤¤¤«¤Ê¤¤"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr "¥Õ¥¡¥¤¥ë̾°ìÃ×¥ª¥×¥·¥ç¥ó (½ü³°/Êñ´Þ¤Îξ¥Ñ¥¿¡¼¥ó¤ËºîÍÑ):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤È¥Ñ¥¿¡¼¥ó¤¬°ìÃ×"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "Ǥ°Õ¤Î '/' °Ê¹ß¤Ë¥Ñ¥¿¡¼¥ó¤¬°ìÃ× (ɸ½à¤Ç½ü³°)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "Âçʸ»ú¾®Ê¸»ú¤ò̵»ë"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "Âçʸ»ú¾®Ê¸»ú¤ò¹Íθ¤·¤Æ°ìÃ× (ɸ½à)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍÑ (ɸ½à¤Ç½ü³°)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "Ãà¸ìŪʸ»úÎó°ìÃ×"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ '/' ¤Ë°ìÃ× (ɸ½à¤Ç½ü³°)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ '/' ¤Ë°ìÃפ·¤Ê¤¤"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "¥³¥Þ¥ó¥É¥é¥¤¥ó"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: %s ¤«¤éÍ׵ᤵ¤ì¤¿¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï´û¤Ë %s ¤«¤éÆɤ߹þ¤ßºÑ¤ß"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ʸ»úÎó '%s' ¤òʬ³ä¤Ç¤­¤Þ¤»¤ó: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: Æɤ߹þ¤Þ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ë¥Ì¥ëʸ»ú"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Îʸ»ú¤¬¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1364,52 +1521,52 @@ msgstr ""
 "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤òÍ­¸ú¤Ë¤¹¤ë¤Ê¤é --wildcards, ¤³¤Î·Ù¹ð¤òÍ޻ߤ¹¤ë¤Ê¤é --no-"
 "wildcards ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "¥¢¡¼¥«¥¤¥Ö¥é¥Ù¥ë¤¬°ìÃפ·¤Þ¤»¤ó"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "¥Õ¥¡¥¤¥ë¥ê¥¹¥ÈÆâ¤Ç -C ¥ª¥×¥·¥ç¥ó¤Ï --listed-incremental ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó"
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "-C ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±¤Ê¤é --listed-incremental ¤È°ì½ï¤Ë»È¤¨¤Þ¤¹"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "¥ª¥×¥·¥ç¥ó '-%s' ¤È '-%s' ¤Ï¤É¤Á¤é¤âɸ½àÆþÎϤ¬É¬ÍפǤ¹"
+msgstr "¥ª¥×¥·¥ç¥ó '%s' ¤È '%s' ¤Ï¤É¤Á¤é¤âɸ½àÆþÎϤ¬É¬ÍפǤ¹"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Ìµ¸ú¤Ê¥¢¡¼¥«¥¤¥Ö·Á¼°"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU ÆÃÍ­¤Îµ¡Ç½¤Ï¡¢Èó¸ß´¹¤Ê·Á¼°¤òɬÍפȤ·¤Þ¤¹"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr "ÉÔÌÀ¤Ê°úÍÑ·Á¼° '%s', '%s --quoting-style=help' ¤Ç°ìÍ÷ɽ¼¨."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1429,7 +1586,7 @@ msgstr ""
 "¼¨.\n"
 "  tar -xf archive.tar          # archive.tar ¤«¤éÁ´¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤¹.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1450,79 +1607,87 @@ msgstr ""
 "                  ¤½¤¦¤Ç¤Ê¤±¤ì¤Ðñ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n"
 "  never, simple   ¾ï¤Ëñ½ã¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "¼çÁàºî¥â¡¼¥É:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍƤò°ìÍ÷ɽ¼¨"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "¿·¤·¤¤¥¢¡¼¥«¥¤¥Ö¤òºîÀ®"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤Î°ã¤¤¤ò¸«ÉÕ¤±¤ë"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎËöÈø¤Ë¥Õ¥¡¥¤¥ë¤òÄɲÃ"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤è¤ê¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤òÄɲÃ"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ë tar ¥Õ¥¡¥¤¥ë¤òÄɲÃ"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤éºï½ü (¼§µ¤¥Æ¡¼¥×¾å¤Ç¤Ï¥À¥á!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Î¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤ò¥Æ¥¹¥È¤·¤Æ½ªÎ»"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Áàºî¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÉղõ¡Ç½:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "¤Þ¤Ð¤é¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò¸ú²ÌŪ¤Ë½èÍý"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TYPE"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "·ê¤ò¸¡ÃΤ¹¤ëµ»½Ñ"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "¤Þ¤Ð¤é (sparse) ·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¤òÀßÄê (--sparse ¤Î°ÕÌ£¤ò´Þ¤à)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "¸Å¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "¿·¤·¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "ºî¤é¤ì¤¿ listed-incremental ¥¢¡¼¥«¥¤¥Ö¤ËÂФ¹¤ë¥À¥ó¥×¥ì¥Ù¥ë"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "Æɤ߹þ¤á¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤ÆÈó¥¼¥í¤Ç½ªÎ»¤·¤Þ¤»¤ó"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1534,135 +1699,144 @@ msgstr ""
 "¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤« -T ¥ª¥×¥·¥ç¥ó·Ðͳ¤Î¤É¤Á¤é¤«¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Î"
 "¤ßÍ­¸ú. NUMBER ¤Ïɸ½à¤Ç 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò¥Á¥§¥Ã¥¯¤¹¤ë (ɸ½à)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "À©¸æ¤ò¾å½ñ¤­:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ò½ñ¤­½Ð¤·¤¿¸å¤Ë¸¡¾Ú"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤Ë²Ã¤¨¤¿¸å¤Çºï½ü"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤º, ¥¨¥é¡¼¤È¤·¤Æ°·¤¦"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤º, ¤½¤Î¤Þ¤Þ¥¹¥­¥Ã¥×¤¹¤ë"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "¥¢¡¼¥«¥¤¥Ö¥³¥Ô¡¼¤è¤ê¿·¤·¤¤´û¸¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤Ê¤¤"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "³Æ¡¹¤Î¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¾å½ñ¤­¤¹¤ëÁ°¤Ëºï½ü"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼è¤ê½Ð¤¹Á°¤Ë³¬Áؤò¶õ¤Ë"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤òÊݸ"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤ò¾å½ñ¤­ (ɸ½à)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î´û¸¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò°Ý»ý"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "loose file¤ò¼è¤ê½Ð¤»¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "½ÐÎÏ¥¹¥È¥ê¡¼¥à¤òÁªÂò"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æɸ½à½ÐÎϤ˽ÐÎÏ"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "COMMAND"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤ÆÊÌ¤Î¥×¥í¥°¥é¥à¤Ë½ÐÎÏ"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "»Ò¥×¥í¥»¥¹¤Î½ªÎ»¥³¡¼¥É¤ò̵»ë"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "»Ò¥×¥í¥»¥¹¤ÎÈó¥¼¥í½ªÎ»¥³¡¼¥É¤ò¥¨¥é¡¼¤È¤·¤Æ½èÍý"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "¥Õ¥¡¥¤¥ë°À­¤Î½èÍý"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤ò NAME ¤ËÊѹ¹"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤ò NAME ¤ËÊѹ¹"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "¥Õ¥¡¥¤¥ë½êÍ­¼Ô UID ¤È̾Á°¤ò¥Þ¥Ã¥×¤¹¤ë¤Î¤Ë FILE ¤ò»ÈÍÑ"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "¥Õ¥¡¥¤¥ë½êÍ­¼Ô GID ¤È̾Á°¤ò¥Þ¥Ã¥×¤¹¤ë¤Î¤Ë FILE ¤ò»ÈÍÑ"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATE-OR-FILE"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "DATE-OR-FILE ¤«¤éÄɲåե¡¥¤¥ë¤Î mtime ¤òÀßÄê"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "CHANGES"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î (¥·¥ó¥Ü¥ê¥Ã¥¯) ¥â¡¼¥É¤ò CHANGES ¤ËÊѹ¹"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METHOD"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1671,11 +1845,11 @@ msgstr ""
 "ºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤ò, Æɤ߹þ¤ß¸å¤ËÉü¸µ¤¹¤ë (METHOD='replace'; É¸½à) ¤«ºÇ½é¤ËÀß"
 "Äꤷ¤Ê¤¤ (METHOD='system') ¤«¤Î¤É¤Á¤é¤«¤ÎÊýË¡¤Ç¥À¥ó¥×¥Õ¥¡¥¤¥ë¾å¤Ç°Ý»ý"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò¼è¤ê½Ð¤µ¤Ê¤¤"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1683,222 +1857,218 @@ msgstr ""
 "¥¢¡¼¥«¥¤¥ÖÆâ¤ÈƱ¤¸½êÍ­¼Ô¤Î¤Þ¤Þ¤Ç¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¤ß¤ë (¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ç¤Ï"
 "¥Ç¥Õ¥©¥ë¥È)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "¤¢¤Ê¤¿¼«¿È¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤¹ (°ìÈ̥桼¥¶¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "¥æ¡¼¥¶Ì¾/¥°¥ë¡¼¥×̾¤È¤·¤Æ¾ï¤Ë¿ô»ú¤ò»È¤¦"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "¥Õ¥¡¥¤¥ë°À­¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÃê½Ð (superuser ¤Ç¤Ïɸ½à)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 "¥¢¡¼¥«¥¤¥Ö¤«¤é°À­¤òÃê½Ð¤¹¤ëºÝ¤Ë¥æ¡¼¥¶¤Î umask ¤òŬÍÑ (°ìÈ̥桼¥¶¤Ç¤Ïɸ½à)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr "¥á¥ó¥Ð¡¼°ú¿ô¤Ï¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Õ¥¡¥¤¥ë¤ÈƱ¤¸½çÈÖ¤Çʤó¤Ç¤¤¤Þ¤¹"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "-p ¤È -s ¤ÎξÊý¤ò»ØÄꤷ¤¿¤â¤Î¤ÈƱ¤¸"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 "Ãê½Ð¤¬½ªÎ»¤¹¤ë¤Þ¤ÇÃê½Ð¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤È°À­¤ÎÀßÄê¤òÃ٤餻¤ë"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "--delay-directory-restore ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò¼è¤ê¾Ã¤·"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "½çÈÖ"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ÎʤÓÂؤ¨½ç: ¤Ê¤· (ɸ½à) ¤Þ¤¿¤Ï̾Á°"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "³ÈÄ¥¥Õ¥¡¥¤¥ë°À­¤Î½èÍý"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "³Èĥ°À­Âбþ¤òÍ­¸ú¤Ë"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "³Èĥ°À­Âбþ¤ò̵¸ú¤Ë"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASK"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "xattr ¥­¡¼¤ËÂФ¹¤ëÊñ´Þ¥Ñ¥¿¡¼¥ó¤ò»ØÄê"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "xattr ¥­¡¼¤ËÂФ¹¤ë½ü³°¥Ñ¥¿¡¼¥ó¤ò»ØÄê"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "SELinux ¥³¥ó¥Æ¥¯¥¹¥ÈÂбþ¤òÍ­¸ú¤Ë"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "SELinux ¥³¥ó¥Æ¥¯¥¹¥ÈÂбþ¤ò̵¸ú¤Ë"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "POSIX ACL Âбþ¤òÍ­¸ú¤Ë"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "POSIX ACL Âбþ¤ò̵¸ú¤Ë"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "¥Ç¥Ð¥¤¥¹¤ÎÁªÂò¤ÈÀÚÂØ:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIVE"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹ ARCHIVE ¤ò»ÈÍÑ"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ï¥³¥í¥ó¤ò´Þ¤ó¤Ç¤¤¤Æ¤â¥í¡¼¥«¥ë"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "»ØÄꤵ¤ì¤¿ rmt COMMAND ¤ò rmt ¤ÎÂå¤ï¤ê¤Ë»ÈÍÑ"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "rsh ¤ÎÂå¤ï¤ê¤Ë COMMAND ¤ò»ÈÍÑ"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "¥É¥é¥¤¥Ö¤ÈÌ©ÅÙ¤ò»ØÄê"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®/°ìÍ÷/Ãê½Ð"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "NUMBER x 1024 ¥Ð¥¤¥È¤ò½ñ¤­½Ð¤·¤¿¸å¤Ç¥Æ¡¼¥×¤òÊѹ¹"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "³Æ¡¹¤Î¥Æ¡¼¥×¤ÎºÇ¸å¤Ç¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô (-M É¬¿Ü)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "FILE Ãæ¤Î¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò»ÈÍÑ/¹¹¿·"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "¥Ç¥Ð¥¤¥¹¥Ö¥í¥Ã¥­¥ó¥°:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOCKS"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê BLOCKS x 512 ¥Ð¥¤¥È"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê NUMBER ¥Ð¥¤¥È. 512 ¤ÎÇÜ¿ô"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Î¥¼¥í¥Ö¥í¥Ã¥¯ (¤Ä¤Þ¤ê EOF) ¤ò̵»ë"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "Æɤ߽Ф·¤¿¤è¤¦¤ËºÆ¥Ö¥í¥Ã¥¯ (4.2BSD ¥Ñ¥¤¥×ÍÑ)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "¥¢¡¼¥«¥¤¥Ö·Á¼°¤ÎÁªÂò"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "»ØÄꤵ¤ì¤¿·Á¼°¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT ¤Ï¼¡¤Î¤¦¤Á¤Î 1¤Ä:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "¸Å¤¤ V7 tar ·Á¼°"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU tar 1.12 °ÊÁ°¤Î·Á¼°"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x ·Á¼°"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) ·Á¼°"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) ·Á¼°"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "pax ¤ÈƱ¤¸"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "--format=v7 ¤ÈƱ¤¸"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "--format=posix ¤ÈƱ¤¸"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "keyword[[:]=value][,keyword[[:]=value]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "pax ¥­¡¼¥ï¡¼¥É¤òÀ©¸æ"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1906,179 +2076,79 @@ msgstr ""
 "¥Ü¥ê¥å¡¼¥à̾ TEXT ¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®. °ìÍ÷/Ãê½Ð»þ¤Ë TEXT ¤ò¥Ü¥ê¥å¡¼¥à̾¤ËÂФ¹"
 "¤ëÃê½Ð¥Ñ¥¿¡¼¥ó¤Ë»ÈÍÑ"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼­¤ò»ÈÍѤ¹¤ë"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼­¤ò»ÈÍѤ·¤Ê¤¤"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "PROG ·Ðͳ¤Ç¥Õ¥£¥ë¥¿ (-d ¤ò¼õ¤±ÉÕ¤±¤ëɬÍפ¢¤ê)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ëÁªÂò:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-"»ØÄꤵ¤ì¤¿ FILE ¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲà(¥À¥Ã¥·¥å ' ¤Ç»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¤ËÊØ"
-"Íø)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê DIR ¤Ø°ÜÆ°"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "Ãê½Ð¤Þ¤¿¤ÏºîÀ®¤¹¤ë̾Á°¤ò¥Õ¥¡¥¤¥ë FILE ¤«¤é¼èÆÀ"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T ¤¬ null ¤Ç½ª¤ï¤ë̾Á°¤òÆɤ߹þ¤ß, -C ¤ò̵¸ú²½"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "Á°¤Î --null ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò̵¸ú²½"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "-T ¤ÇÆɤ߹þ¤ó¤À¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤¹¤ë (ɸ½à)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "-T ¤ÇÆɤ߹þ¤ó¤¿¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤·¤Ê¤¤"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PATTERN"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "PATTERN ¤Ë°ìÃפ¹¤ë¥Õ¥¡¥¤¥ë¤ò½ü³°"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "FILE ¤ËÎóµó¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ò½ü³°"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr "¥¿¥°¥Õ¥¡¥¤¥ë¼«¿È¤ò½ü¤¯ CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "FILE ¼«¿È¤ò½ü¤¯ FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½ü³°¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤Ë²¼¤Ã¤Æ¤¤¤«¤Ê¤¤"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¸ÂÄê"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò½ç·«¤ê¤Ë²¼¤Ã¤Æ¤¤¤¯ (default)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î '/' ¤ò¼è¤ê½ü¤«¤Ê¤¤"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "¥Ï¡¼¥É¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "MEMBER-NAME"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÆɤ߼è¤ê»þ¤Ë¥á¥ó¥Ð¡¼ MEMBER-NAME ¤Ç³«»Ï"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "DATE-OR-FILE ¤è¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤ò³ÊǼ"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATE"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿»þ¤À¤±ÆüÉÕ¤ª¤è¤Ó»þ¹ï¤òÈæ³Ó"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "ºï½üÁ°¤Ë¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤ò CONTROL ¤Ë¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2086,95 +2156,59 @@ msgstr ""
 "ºï½üÁ°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×, Ä̾ï¤ÎÀÜÈø¼­ (´Ä¶­ÊÑ¿ô SIMPLE_BACKUP_SUFFIX ¤¬Ì¤ÀßÄê¤Ê"
 "¤é '~') ¤ò¾å½ñ¤­"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "¥Õ¥¡¥¤¥ë̾ÊÑ´¹:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "Ãê½Ð»þ¤Ë¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î NUMBER ¸Ä¤Î¥³¥ó¥Ý¥Í¥ó¥È¤ò½üµî"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÊÑ´¹¤Ë sed ¤ÎÃÖ´¹ EXPRESSION ¤ò»ÈÍÑ"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr "¥Õ¥¡¥¤¥ë̾°ìÃ×¥ª¥×¥·¥ç¥ó (½ü³°/Êñ´Þ¤Îξ¥Ñ¥¿¡¼¥ó¤ËºîÍÑ):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "Âçʸ»ú¾®Ê¸»ú¤ò̵»ë"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤È¥Ñ¥¿¡¼¥ó¤¬°ìÃ×"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "Ǥ°Õ¤Î '/' °Ê¹ß¤Ë¥Ñ¥¿¡¼¥ó¤¬°ìÃ× (ɸ½à¤Ç½ü³°)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "Âçʸ»ú¾®Ê¸»ú¤ò¹Íθ¤·¤Æ°ìÃ× (ɸ½à)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍÑ (ɸ½à¤Ç½ü³°)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "Ãà¸ìŪʸ»úÎó°ìÃ×"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ '/' ¤Ë°ìÃפ·¤Ê¤¤"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ '/' ¤Ë°ìÃ× (ɸ½à¤Ç½ü³°)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "¾ðÊó:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "½èÍý¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¾éŤËɽ¼¨"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "KEYWORD"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "·Ù²ü´ÉÀ©"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "NUMBER (ɸ½à 10) ÈÖÌܤε­Ï¿¤´¤È¤Ë¿ÊĽ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "³Æ¸¡Ìä¤Ç ACTION ¤ò¼Â¹Ô"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "Á´¤Æ¤Î¥ê¥ó¥¯¤¬¥À¥ó¥×¤µ¤ì¤Ê¤¤¾ì¹ç¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2185,79 +2219,86 @@ msgstr ""
 "»þ¤ËÁí¥Ð¥¤¥È¿ô¤òɽ¼¨. µö²Ä¤µ¤ì¤¿ SIGNAL ¤Ï: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 "
 "¤ª¤è¤Ó SIGUSR2. SIG ÀÜƬ¼­¤¬¤Ê¤¤Ì¾Á°¤Ç¤â²Ä"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò UTC ¤Çɽ¼¨"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "¥Õ¥¡¥¤¥ë¤Î»þ¹ï¾ðÊó¤ò´°Á´·Á¼°¤Çɽ¼¨"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "¾éĹ½ÐÎϤò FILE ¤ËÁ÷¿®"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Ö¥í¥Ã¥¯¿ô¤ò³Æ¡¹¥á¥Ã¥»¡¼¥¸ÉÕ¤­¤Çɽ¼¨"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "Á´¤Æ¤ÎÆ°ºî¤ò³Îǧ"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "tar ¤Î´ûÄêÃͤòɽ¼¨"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤ÎÎΰè¤ÎÀµÅö¤ÊÈϰϤòɽ¼¨"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "°ìÍ÷¤äÃê½Ð»þ¤Ë, ¸¡º÷´ð½à¤Ë°ìÃפ·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò³Æ¡¹°ìÍ÷ɽ¼¨"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "ÊÑ´¹¸å¤Ë¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥Ö̾¤òɽ¼¨"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "̾Á°°úÍÑ·Á¼°¤òÀßÄê. Í­¸ú¤Ê STYLE Ãͤϲ¼µ­»²¾È."
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "¹¹¤Ë STRING ¤«¤éʸ»ú¤ò°úÍÑ"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "STRING ¤«¤é¤Îʸ»ú°úÍѤò̵¸ú¤Ë"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "¸ß´¹¥ª¥×¥·¥ç¥ó:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "ºîÀ®»þ¤Ï --old-archive ¤ÈƱ¤¸. Ãê½Ð»þ¤Ï --no-same-owner ¤ÈƱ¤¸"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "¤½¤Î¾¥ª¥×¥·¥ç¥ó:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "ÀøºßŪ¤Ë³²¤Ë¤Ê¤ë¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤò̵¸ú¤Ë"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "'%s' ¤Ï '%s' ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2265,40 +2306,40 @@ msgstr ""
 "'-Acdtrux', '--delete' ¤Þ¤¿¤Ï '--test-label' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á 2¤Ä°Ê¾å»ØÄꤹ¤ë"
 "¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó¤¬¿©¤¤°ã¤Ã¤Æ¤¤¤Þ¤¹"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "̤ÃΤΥ·¥°¥Ê¥ë̾: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "ÆüÉÕ¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "̤ÃΤÎÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î %2$s Âå¤ï¤ê¤Ë %1$s ¤È¤·¤Þ¤¹"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "¥ª¥×¥·¥ç¥ó %s: ÆüÉÕ '%s' ¤ò %s ¤È¤·¤Æ°·¤¦"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "%s ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÍ­¸ú¤Ê°ú¿ô:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2306,186 +2347,197 @@ msgstr ""
 "\n"
 "¡Ö¤³¤Î¡×tar ¤Îµ¬ÄêÃÍ:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "̵¸ú¤Ê½êÍ­¼Ô¤Þ¤¿¤Ï¥°¥ë¡¼¥×ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "̵¸ú¤Ê¥Ö¥í¥Ã¥­¥ó¥°°ø»Ò"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "̵¸ú¤Ê¥Æ¡¼¥×¤ÎŤµ"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "̵¸ú¤ÊÁýʬ¥ì¥Ù¥ëÃÍ"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "1¤Ä°Ê¾å¤ÎÉßµï¤È¤Ê¤ëÆüÉÕ"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "̵¸ú¤Ê¤Þ¤Ð¤é (sparse) ¥Ð¡¼¥¸¥ç¥óÃÍ"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint ÃͤÏÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥â¡¼¥É¤Ï̵¸ú¤Ç¤¹"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "̵¸ú¤Ê¿ô"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"--preserve ¥ª¥×¥·¥ç¥ó¤ÏÇÑ»ßͽÄê¤Ê¤Î¤Ç, Âå¤ï¤ê¤Ë --preserve-permissions --"
-"preserve-order ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "̵¸ú¤Êµ­Ï¿¥µ¥¤¥º"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "µ­Ï¿¥µ¥¤¥º¤Ï %d ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó"
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "̵¸ú¤Ê¥¨¥ì¥á¥ó¥È¿ô"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "--to-command ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±µö²Ä"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "ÉÔÀµ·Á¼°¤ÎÌ©ÅÙ°ú¿ô: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "̤ÃΤÎÌ©ÅÙ: '%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "¥ª¥×¥·¥ç¥ó '-[0-7][lmh]' ¤Ï¡Ö¤³¤Î¡×tar ¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: ¥¨¥é¡¼¤Î¾ì½ê"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "%s ¤Î¹½Ê¸Ê¬ÀÏ»þ¤Ë¥¨¥é¡¼"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[¥Õ¥¡¥¤¥ë]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "--%s ¤Ï %s ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "%s ¤ËÈ󥪥ץ·¥ç¥ó°ú¿ô"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "TAR_OPTIONS ¤òʬ³ä¤Ç¤­¤Þ¤»¤ó: %s"
+
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "¸Å¤¤¥ª¥×¥·¥ç¥ó '%c' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹"
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence ¤Ï¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¤Ê¤±¤ì¤Ð̵°ÕÌ£"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Ê£¹ç·¿¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë¤Ï '-M' ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--listed-incremental ¤Ê¤·¤Î --level ¤Ï̵°ÕÌ£¤Ç¤¹"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥¢¡¼¥«¥¤¥Ö¤ò³Îǧ¤Ç¤­¤Þ¤»¤ó"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï³Îǧ¤Ç¤­¤Þ¤»¤ó"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Ë°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï»È¤¨¤Þ¤»¤ó"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤ÏÏ¢·ë¤Ç¤­¤Þ¤»¤ó"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"¥È¥Ã¥×¥ì¥Ù¥ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¿äÄêÉÔǽ; --one-top-level=DIR ¤ÇÌÀ¼¨Åª¤Ë»ØÄꤷ¤Æ"
+"¤¯¤À¤µ¤¤"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "¥Ü¥ê¥å¡¼¥àĹ¤Ï¥ì¥³¡¼¥É¥µ¥¤¥º¤è¤ê¾®¤µ¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "¶õ¤Î¥¢¡¼¥«¥¤¥ÖºîÀ®¤Ï¤´ÍƼϴꤤ¤Þ¤¹"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "¥ª¥×¥·¥ç¥ó '-Aru' ¤È '-f -' ¤È¤ÏÁêÍƤì¤Þ¤»¤ó"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "'-Acdtrux', '--delete' ¤Þ¤¿¤Ï '--test-label' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¡¢¤¤¤º¤ì¤« 1¤Ä¤ò"
 "»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Á°¤Î¥¨¥é¡¼¤Ë¤è¤ê¼ºÇÔ¥¹¥Æ¡¼¥¿¥¹¤Ç½ªÎ»¤·¤Þ¤¹"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "¥Ç¥£¥ì¥¯¥È¥êʤÓÂؤ¨½ç: ¤Ê¤· (ɸ½à), Ì¾Á°¤Þ¤¿¤Ïi¥Î¡¼¥É"
 
 #: src/update.c:87
 #, c-format
@@ -2539,34 +2591,34 @@ msgstr "
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "̤ÃΤγÈÄ¥¥Ø¥Ã¥À¥­¡¼¥ï¡¼¥É '%s' ¤ò̵»ë"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "³ÈÄ¥¥Ø¥Ã¥À %s=%s ¤Ï %s..%s ¤ÎÈÏ°ÏÆâ¤Ë¤¢¤ê¤Þ¤»¤ó"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤ÏÉÔÀµ"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤Ï;ʬ"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: Í½´ü¤»¤Ì¶èÀÚ¤êʸ»ú %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: ´ñ¿ôÃÍ"
@@ -2607,7 +2659,7 @@ msgstr "
 msgid "Read checkpoint %u"
 msgstr "¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È %u ¤òÆɤ߹þ¤ß¤Þ¤¹"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2615,69 +2667,73 @@ msgstr ""
 "genfile ¤Ï GNU paxutils ¥Æ¥¹¥È¥»¥Ã¥È¤ËÂФ·¤Æ¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òÁàºî¤·¤Þ¤¹.\n"
 "¥ª¥×¥·¥ç¥ó¤Ï:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "¥Õ¥¡¥¤¥ëºîÀ®¥ª¥×¥·¥ç¥ó:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "SIZE"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "»ØÄꤵ¤ì¤¿ SIZE ¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "ɸ½à½ÐÎϤÎÂå¤ï¤ê¤Ë¥Õ¥¡¥¤¥ë NAME ¤Ë½ÐÎÏ"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "FILE ¤«¤é¥Õ¥¡¥¤¥ë̾¤òÆɤ߹þ¤ß"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T ¤Ï null ¤Ç½ª¤ï¤ë̾Á°¤òÆɤ߹þ¤ß¤Þ¤¹"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "»ØÄꤵ¤ì¤¿ PATTERN ¤Ç¥Õ¥¡¥¤¥ë¤òËä¤á¤Þ¤¹. PATTERN ¤Ï 'default' ¤Þ¤¿¤Ï 'zeros'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤òÀ¸À®. »Ä¤ê¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Õ¥¡¥¤¥ë¥Þ¥Ã¥×¤ò»ØÄê."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "¥ª¥Õ¥»¥Ã¥È"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "¥Ç¡¼¥¿¤ò½ñ¤­½Ð¤¹Á°¤Ë»ØÄꤵ¤ì¤¿¥ª¥Õ¥»¥Ã¥È¤Þ¤Ç¸¡º÷"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "¥Õ¥¡¥¤¥ëÅý·×¥ª¥×¥·¥ç¥ó:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "³Æ¡¹¤Î»ØÄê¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ struct stat ¤ÎÆâÍƤòɽ¼¨. É¸½à FORMAT ¤Ï: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Ʊ»þ¼Â¹Ô¥ª¥×¥·¥ç¥ó:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPTION"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2685,19 +2741,19 @@ msgstr ""
 "ARGS ¤ò¼Â¹Ô. --checkpoint ¤ª¤è¤Ó --cut, --append, --touch, --unlink ¤ÎÃæ¤Î 1"
 "¤Ä¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤È¤è¤¤"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È NUMBER Åþã»þ¤Ë»ØÄꤵ¤ì¤¿¥¢¥¯¥·¥ç¥ó (²¼µ­»²¾È) ¤ò¼Â¹Ô"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "¼¡¤Î --touch ¥ª¥×¥·¥ç¥ó¤ÇÆüÉÕ¤òÀßÄê"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "¼Â¹Ô¤µ¤ì¤¿¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È¤È COMMAND ¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤òɽ¼¨"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2705,7 +2761,7 @@ msgstr ""
 "Ʊ»þ¼Â¹Ô¥¢¥¯¥·¥ç¥ó. ¤³¤ì¤é¤Ï --checkpoint option ¤Ç»ØÄꤵ¤ì¤¿¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È"
 "ÈÖ¹æ¤ËÅþ㤷¤¿¤È¤­¤Ë¼Â¹Ô¤µ¤ì¤ë."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2713,160 +2769,158 @@ msgstr ""
 "FILE ¤ò --length ¥ª¥×¥·¥ç¥ó (¤Þ¤¿¤Ï»ØÄ꤬¤Ê¤±¤ì¤Ð 0) ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤ËÀÚ¤ê"
 "¼Î¤Æ"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "FILE ¤Ë SIZE ¥Ð¥¤¥ÈÄɵ­. SIZE ¤ÏÁ°¤Î --length ¥ª¥×¥·¥ç¥ó¤Ç»ØÄê."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "FILE ¤ÎºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤ÈºÇ½ª¹¹¿·»þ¹ï¤ò¹¹¿·"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "COMMAND ¤ò¼Â¹Ô"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "FILE ¤ò unlink"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "̵¸ú¤Ê¥µ¥¤¥º: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Èֹ椬µö²Ä¤µ¤ì¤¿Èϰϳ°: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Éé¤Î¥µ¥¤¥º: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) ¼ºÇÔ"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "Í׵ᤵ¤ì¤¿¥Õ¥¡¥¤¥ëĹ %lu, ¼ÂºÝ¤ÎÃÍ %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "ºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¥¹¥Ñ¡¼¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "`%s' ¤Î¶á¤¯¤Ç¿ô»ú¤ò¹½Ê¸Ê¬ÀÏ»þ¤Ë¥¨¥é¡¼"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "̤ÃΤÎÆüÉÕ·Á¼°"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' ¤ò³«¤±¤Þ¤»¤ó"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "Áܤ·½Ð¤»¤Þ¤»¤ó"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "¥Õ¥¡¥¤¥ë̾¤¬¥Ì¥ëʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤òɸ½à½ÐÎϤ˽ñ¤­½Ð¤»¤Þ¤»¤ó. --file ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "ÉÔÀµ¤Ê¥Þ¥¹¥¯ (`%s' ¤Ë¶á¤¤)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "̤ÃΤΥե£¡¼¥ë¥É `%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "`%s' ¤Ë»þ¹ï¤òÀßÄê¤Ç¤­¤Þ¤»¤ó"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "`%s' ¤ò truncate ¤Ç¤­¤Þ¤»¤ó"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "¥³¥Þ¥ó¥É¼ºÇÔ: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' ¤ò unlink ¤Ç¤­¤Þ¤»¤ó"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "¥³¥Þ¥ó¥É¤¬Àµ¾ï½ªÎ»\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "¥³¥Þ¥ó¥É¤¬¥¹¥Æ¡¼¥¿¥¹ %d ¤Ç¼ºÇÔ\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤Ç½ªÎ»\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤ÇÄä»ß\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "¥³¥Þ¥ó¥É¤¬¥³¥¢¤ò¥À¥ó¥×\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "¥³¥Þ¥ó¥É¤¬½ªÎ»\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat ¤Ë¤Ï¥Õ¥¡¥¤¥ë̾¤¬É¬Í×"
 
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence ¤Ï %s ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "--listed-incremental ¤È --newer ¤È¤ò·ë¹ç¤Ç¤­¤Þ¤»¤ó"
-
-#~ msgid "--verify cannot be used with %s"
-#~ msgstr "--verify ¤Ï %s ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó"
+#~ msgid "same as both -p and -s"
+#~ msgstr "-p ¤È -s ¤ÎξÊý¤ò»ØÄꤷ¤¿¤â¤Î¤ÈƱ¤¸"
 
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order ¤Ï --listed-incremental ¤ÈξΩ¤·¤Þ¤»¤ó"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "--preserve ¥ª¥×¥·¥ç¥ó¤ÏÇÑ»ßͽÄê¤Ê¤Î¤Ç, Âå¤ï¤ê¤Ë --preserve-permissions --"
+#~ "preserve-order ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
index 552f40023aa2d94a6e5c8b11bdca0703bff00033..f3fe4a2328b7b02c9553c30081d272bbec4d4619 100644 (file)
Binary files a/po/ko.gmo and b/po/ko.gmo differ
index 39e650aaeff8cc47b69b38d4d4cc105c193091c7..b764f675ff7d3aa2336f05186d59b71a1f4b0220 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -2,12 +2,12 @@
 # Copyright (C) 1996 Free Software Foundation, Inc.
 # Bang Jun-Young <bangjy@nownuri.net>, 1996-1997.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.12\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 1997-05-30 22:55+0900\n"
 "Last-Translator: Bang Jun-Young <bangjy@nownuri.net>\n"
 "Language-Team: Korean <ko@li.org>\n"
@@ -16,60 +16,60 @@ msgstr ""
 "Content-Type: text/plain; charset=EUC-KR\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, fuzzy, c-format
 msgid "invalid argument %s for %s"
 msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, fuzzy, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "¸ðÈ£ÇÑ ÆÐÅÏ `%s'"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr ""
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr ""
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr ""
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr ""
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr ""
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 #, fuzzy
 msgid " [OPTION...]"
 msgstr ""
@@ -78,133 +78,138 @@ msgstr ""
 "\n"
 
 #
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é `%s --help' ÇϽʽÿÀ.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr ""
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr ""
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr ""
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr ""
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr ""
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr ""
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr ""
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, fuzzy, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, fuzzy, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr ""
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr ""
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr ""
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, fuzzy, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 #, fuzzy
 msgid "memory exhausted"
 msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
 
 #
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "ÇöÀç µð·ºÅ丮¸¦ ¾Ë ¼ö ¾ø½À´Ï´Ù"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr ""
@@ -230,11 +235,11 @@ msgstr ""
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr ""
 
@@ -244,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr ""
 
@@ -254,16 +259,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -271,11 +276,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -286,19 +291,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -306,7 +311,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -316,7 +321,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -326,7 +331,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +341,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -346,7 +351,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -357,7 +362,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -368,7 +373,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -380,29 +385,29 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -584,8 +589,8 @@ msgstr "
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr ""
 
@@ -593,10 +598,11 @@ msgstr ""
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr ""
 
@@ -610,7 +616,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -621,123 +627,123 @@ msgid "Garbage command"
 msgstr "¾µ¸ð¾ø´Â ¸í·É"
 
 #
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "ÀÌ°ÍÀº tar ¾ÆÄ«À̺êó·³ º¸ÀÌÁö ¾Ê½À´Ï´Ù"
 
 #
-#: src/buffer.c:574
+#: src/buffer.c:577
 #, fuzzy
 msgid "Total bytes read"
 msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
 
 #
-#: src/buffer.c:576
+#: src/buffer.c:579
 #, fuzzy
 msgid "Total bytes written"
 msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
 
 #
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr ""
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "record_size·Î ºÎÀûÀýÇÑ °ª"
 
 #
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "¾ÆÄ«À̺ê À̸§ÀÌ ÁÖ¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù"
 
 #
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ç¥ÁØÀÔ/Ãâ·Â ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
 #
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Å×ÀÌÇÁÀÇ ½ÃÀÛ ºÎºÐ¿¡¼­ Áö±Ý Á¾·áÇÔ"
 
 #
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "¿À·ù°¡ ³Ê¹« ¸¹¾Æ¼­ Á¾·áÇÕ´Ï´Ù"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "·¹ÄÚµå Å©±â = %d ºí·°"
 msgstr[1] "·¹ÄÚµå Å©±â = %d ºí·°"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr ""
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr ""
 
 #
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, fuzzy, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "º¼·ý #%d(%s¸¦ À§ÇÑ)¸¦ ÁغñÇÏ°í ¸®ÅÏÀ» Ä¡¼¼¿ä: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "»ç¿ëÀÚÀÇ ÀÀ´äÀÌ ÇÊ¿äÇÑ °÷¿¡ EOF°¡ ÀÖÀ½"
 
 #
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "°æ°í: ¾ÆÄ«À̺갡 ºÒ¿ÏÀüÇÕ´Ï´Ù"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -749,77 +755,77 @@ msgstr ""
 " !          ¼­ºê¼ÐÀ» ½ÇÇàÇÕ´Ï´Ù\n"
 " ?          ÀÌ ¸ñ·ÏÀ» ÀμâÇÕ´Ï´Ù\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
 #
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "»õ º¼·ýÀÌ ¾Æ´Ô; Á¾·á.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr ""
 
 #
-#: src/buffer.c:1491
-#, fuzzy, c-format
-msgid "%s is possibly continued on this volume: header contains truncated name"
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
 msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
 
 #
-#: src/buffer.c:1495
-#, c-format
-msgid "%s is not continued on this volume"
+#: src/buffer.c:1523
+#, fuzzy, c-format
+msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
 
 #
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, fuzzy, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s´Â À߸øµÈ Å©±âÀÔ´Ï´Ù (%ld != %ld + %ld)"
 
 #
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "ÀÌ º¼·ýÀº ¼ø¼­¸¦ ¹þ¾î³µ½À´Ï´Ù"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, fuzzy, c-format
 msgid "Archive not labeled to match %s"
 msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, fuzzy, c-format
 msgid "Volume %s does not match %s"
 msgstr "º¼·ý `%s'°¡ `%s'¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
 #
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 #, fuzzy
 msgid "write did not end on a block boundary"
 msgstr "ºí·° °æ°è°¡ ¾Æ´Ñ ºÎºÐ¿¡¼­ ¾ÆÄ«À̺ê %sÀÇ EOF °ËÃâ"
@@ -832,24 +838,24 @@ msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "%d ¹ÙÀÌÆ®(%ld ¹ÙÀÌÆ® Áß)¸¸ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù"
 msgstr[1] "%d ¹ÙÀÌÆ®(%ld ¹ÙÀÌÆ® Áß)¸¸ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù"
 
-#: src/compare.c:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 #, fuzzy
 msgid "Contents differ"
 msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù"
 
 #
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF"
 
 #
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 #, fuzzy
 msgid "File type differs"
 msgstr "Å©±â°¡ ´Ù¸¨´Ï´Ù"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù"
 
@@ -869,7 +875,7 @@ msgid "Mod time differs"
 msgstr "º¯°æ ½Ã°¢ÀÌ ´Ù¸¨´Ï´Ù"
 
 #
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Å©±â°¡ ´Ù¸¨´Ï´Ù"
 
@@ -880,91 +886,91 @@ msgid "Not linked to %s"
 msgstr "%s¿¡ ¿¬°áµÇÁö ¾ÊÀ½"
 
 #
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "±âÈ£¸µÅ©°¡ ´Ù¸¨´Ï´Ù"
 
 #
-#: src/compare.c:318
+#: src/compare.c:322
 #, fuzzy
 msgid "Device number differs"
 msgstr "ÀåÄ¡ ¹øÈ£°¡ ¹Ù²î¾úÀ½"
 
 #
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "°ËÁõ "
 
 #
-#: src/compare.c:473
+#: src/compare.c:477
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀϠŸÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr ""
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr ""
 
 #
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr ""
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr ""
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr ""
 
 #
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, fuzzy, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 
 #
-#: src/create.c:638
+#: src/create.c:639
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
 
 #
-#: src/create.c:1084
+#: src/create.c:1102
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -972,62 +978,62 @@ msgstr[0] "%s: 
 msgstr[1] "%s: ÆÄÀÏÀÌ %d ¹ÙÀÌÆ® ÁÙ¾îµë, (¿Í¿ì!)"
 
 #
-#: src/create.c:1182
+#: src/create.c:1200
 #, fuzzy, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: ´Ù¸¥ ÆÄÀϽýºÅÛ »ó¿¡ ÀÖÀ½; ´ýÇÁµÇÁö ¾ÊÀ½"
 
 #
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (ÄÚ¾î Ãâ·ÂµÊ)"
 
 #
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀϠŸÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ"
 
 #
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr " %s·Î ¸µÅ©\n"
 
 #
-#: src/create.c:1712
+#: src/create.c:1730
 #, fuzzy, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
 
 #
-#: src/create.c:1721
+#: src/create.c:1739
 #, fuzzy, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s´Â ¾ÆÄ«À̺êÀÔ´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr ""
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr ""
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr ""
 
 #
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "´ÙÀ½ Çì´õ·Î °Ç³Ê ¶Ü"
 
@@ -1046,58 +1052,58 @@ msgstr ""
 msgid "%s: time stamp %s is %s s in the future"
 msgstr ""
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr ""
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr ""
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "¿¬¼ÓµÇ¾î Àִ ÆÄÀÏÀ» ÀϹݠÆÄÀϷΠÃßÃâÇÔ"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "±âÈ£ ¸µÅ©¸¦ Çϵ堸µÅ©·Î ÃßÃâÇÏ°í ÀÖ½À´Ï´Ù"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, fuzzy, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "`%s'¸¦ ÃßÃâÇÒ ¼ö ¾ø½À´Ï´Ù -- ÀÌ ÆÄÀÏÀº ´Ù¸¥ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖ½À´Ï´Ù"
 
 #
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF"
 
 #
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀϠŸÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: ÀÌ ÆÄÀÏÀ» ¹é¾÷ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù"
 
 #
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
@@ -1153,229 +1159,229 @@ msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
 #
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
 #
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr ""
 
 #
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s¸¦ Áö¿ò\n"
 
 #
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, fuzzy, c-format
 msgid "%s: Cannot remove"
 msgstr "%s¸¦ Áö¿ï ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/list.c:217
+#: src/list.c:219
 #, fuzzy, c-format
 msgid "%s: Omitting"
 msgstr "%s¸¦ »ý·«"
 
-#: src/list.c:235
+#: src/list.c:237
 #, fuzzy, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "ºí·° %10ld: ** NUL·Î µÈ ºí·° **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, fuzzy, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "ºí·° %10ld: ** ÆÄÀÏÀÇ ³¡ **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, fuzzy, c-format
 msgid "block %s: "
 msgstr "ºí·° %10ld: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
 #
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr ""
 
 #
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " %s·Î ¸µÅ©\n"
 
 #
-#: src/list.c:1302
+#: src/list.c:1281
 #, fuzzy, c-format
 msgid " unknown file type %s\n"
 msgstr " ¾Ë ¼ö ¾ø´Â ÆÄÀϠŸÀÔ `%c'\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
 #
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--º¼·ý Çì´õ--\n"
 
 #
-#: src/list.c:1336
+#: src/list.c:1315
 #, fuzzy, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%ld ¹ÙÀÌÆ® Â°¿¡ °è¼ÓµÊ--\n"
 
 #
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "µð·ºÅ丮¸¦ ¸¸µå´Â Áß:"
 
 #
-#: src/misc.c:726
+#: src/misc.c:733
 #, fuzzy, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s¸¦ %s·Î À̸§ ¹Ù²Þ"
 
 #
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, fuzzy, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/misc.c:759
+#: src/misc.c:766
 #, fuzzy, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s¸¦ %s·Î À̸§ ¹Ù²Þ"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr ""
@@ -1388,83 +1394,235 @@ msgstr ""
 msgid "interprocess channel"
 msgstr ""
 
-#: src/names.c:360
+#
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Ç¥ÁØÀԷ¿¡ ´ëÇÑ ¾ÆÄ«À̺ê"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr ""
+
+#
+#: src/names.c:73
+#, fuzzy
+msgid "change to directory DIR"
+msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr ""
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr ""
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr ""
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr ""
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr ""
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr ""
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr ""
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr ""
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr ""
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr ""
+
+#: src/names.c:768
 msgid "command line"
 msgstr ""
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
 #
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "%s¸¦ %s·Î ±âÈ£¸µÅ©ÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
 #
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½"
 
 #
-#: src/names.c:845
+#: src/names.c:1263
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "`-%s'°ú `-%s' ¿É¼ÇÀº ¸ðµÎ Ç¥ÁØ ÀÔ·ÂÀÌ ÇÊ¿äÇÕ´Ï´Ù"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1475,7 +1633,7 @@ msgid ""
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1487,81 +1645,89 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr ""
 
 #
-#: src/tar.c:425
+#: src/tar.c:401
 #, fuzzy
 msgid "create a new archive"
 msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1569,646 +1735,517 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr ""
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
 #
-#: src/tar.c:483
+#: src/tar.c:461
 #, fuzzy
 msgid "remove files after adding them to the archive"
 msgstr "¾ÆÄ«À̺꿡 Àִ À̸§µé¿¡¼­ µå¶óÀ̺ê ÁöÁ¤¹®À» Á¦°ÅÇÔ"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr ""
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr ""
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr ""
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr ""
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr ""
 
 #
-#: src/tar.c:627
+#: src/tar.c:609
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
 #
-#: src/tar.c:653
+#: src/tar.c:635
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Ç¥ÁØÀԷ¿¡ ´ëÇÑ ¾ÆÄ«À̺ê"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Çò°¥¸®´Â ¾ÐÃ࠿ɼÇ"
 
-#: src/tar.c:686
+#: src/tar.c:668
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:688
+#: src/tar.c:670
 #, fuzzy
 msgid "do not use archive suffix to determine the compression program"
 msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#
-#: src/tar.c:712
-#, fuzzy
-msgid "change to directory DIR"
-msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr ""
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr ""
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr ""
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr ""
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr ""
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr ""
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr ""
-
 #
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Àý´ë ¸µÅ©µé¿¡¼­ ¾Õ¿¡ ºÙÀº `/'¸¦ Á¦°ÅÇÔ"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr ""
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2216,237 +2253,252 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr ""
 
 #
-#: src/tar.c:842
+#: src/tar.c:752
 #, fuzzy
 msgid "ask for confirmation for every action"
 msgstr "»ç¿ëÀÚÀÇ È®ÀÎÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr ""
+
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "`-Acdtrux' ¿É¼Ç Áß Çϳª ÀÌ»óÀ» ÁöÁ¤Çϸ頾ȠµË´Ï´Ù"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Çò°¥¸®´Â ¾ÐÃ࠿ɼÇ"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr ""
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr ""
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr ""
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr ""
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr ""
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 #, fuzzy
 msgid "Invalid record size"
 msgstr "record_size·Î ºÎÀûÀýÇÑ °ª"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "·¹ÄÚµå Å©±â´Â %dÀÇ ¹è¼ö°¡ µÇ¾î¾ß ÇÕ´Ï´Ù."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr ""
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "`-[0-7][lmh]' ¿É¼ÇÀº ÀÌ tar¿¡¼± Áö¿øµÇÁö ¾Ê½À´Ï´Ù"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "%s¸¦ ´Ý´Â µ¿¾È ¿À·ù ¹ß»ý"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr ""
 
+#: src/tar.c:2183
+#, fuzzy, c-format
+msgid "non-option arguments in %s"
+msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'"
+
 #
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2198
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "%s¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "%s¸¦ %s·Î ±âÈ£¸µÅ©ÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "´ÙÁß ¾ÆÄ«À̺ê ÆÄÀÏÀº `-M' ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2454,73 +2506,77 @@ msgstr[0] ""
 msgstr[1] ""
 
 #
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "¾ÐÃàµÈ ´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/tar.c:2543
+#: src/tar.c:2462
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr ""
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "`-Aru' ¿É¼ÇÀº `-f -'°ú µ¿½Ã¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "`-Acdtrux' ¿É¼Çµé Áß Çϳª¸¦ ÁöÁ¤ÇؾߠÇÕ´Ï´Ù"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2577,34 +2633,34 @@ msgstr ""
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2647,252 +2703,256 @@ msgstr "
 msgid "Read checkpoint %u"
 msgstr "°Ë»çÁöÁ¡ %d¸¦ ÀÐÀ½"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "GNU tar ½ÃÇè µµ±¸¿ë µ¥ÀÌÅÍ ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 #, fuzzy
 msgid "File creation options:"
 msgstr "Çò°¥¸®´Â ¾ÐÃ࠿ɼÇ"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr ""
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 #, fuzzy
 msgid "Update the access and modification times of FILE"
 msgstr "%s: Á¢±Ù ½Ã°¢°ú ¼öÁ¤ ½Ã°¢À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr ""
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr ""
 
 #
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
 
 #
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s¸¦ statÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s¸¦ statÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr ""
 
 #
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "¸µÅ© %s¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr ""
@@ -3053,10 +3113,6 @@ msgstr ""
 #~ msgid "Not a regular file"
 #~ msgstr "ÀϹÝÀûÀΠÆÄÀÏÀÌ ¾Æ´Ô"
 
-#
-#~ msgid "Error while closing %s"
-#~ msgstr "%s¸¦ ´Ý´Â µ¿¾È ¿À·ù ¹ß»ý"
-
 #
 #~ msgid "Does not exist"
 #~ msgstr "°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù"
index 778ba9194e9e37c82aba9951542b85e30e98971b..a37c94032809a5e21556e76e0f58a410713b6ae4 100644 (file)
Binary files a/po/ky.gmo and b/po/ky.gmo differ
index 1bc00b4ab78696b07f16e14739ad51f61e026a46..2130732c59a8fb1aaced774c5890cec51229dc9d 100644 (file)
--- 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 <aziletb@gmail.com>, 2007.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.18\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2007-09-01 01:06+0100\n"
 "Last-Translator: Azilet Beishenaliev <aziletb@gmail.com>\n"
 "Language-Team: Kirghiz <i18n-team-ky-kyrgyz@lists.sourceforge.net>\n"
@@ -21,47 +21,47 @@ msgstr ""
 "X-Poedit-Country: KYRGYZSTAN\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "%2$s үчүн %1$s аргументи жарабайт"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "%2$s үчүн %1$s аргументи так эмес"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Жарактуу аргументтер мындай:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: ARGP_HELP_FMT параметринин мааниси болуш керек"
 
 # положительный кыргызча кандайле?
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT параметринин мааниси оң болуш керек"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: ARGP_HELP_FMT параметри белгисиз"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "ARGP_HELP_FMT параметри бузук: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -70,144 +70,149 @@ msgstr ""
 "жараша жазылса, кыска жазылган опциялар менен да сөзсүз түрдө же тилекке "
 "жараша жазылат."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Колдонулушу:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  же: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [ОПЦИЯ...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Толук маалымат үчүн `%s --help' же `%s --usage' деп жазгыла.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Каталарды бул жерге билдиргиле %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Белгисиз система катасы"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "Бул жардам тизмесин көрсөтөт"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "Колдонуу жөнүндө кыска маалымат көрсөтөт"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "АТЫ"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "Программага ат кой"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "СЕК"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "СЕК секунда күтүңүз (алдынала - 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "программанын версиясын көрсөтөт"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ПРОГРАММАДА КАТА) Версиясы белгисиз!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Аргументтердин саны көп\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ПРОГРАММАДА КАТА) Опция билиниш керек болчу!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: `%s' опциясы так эмес\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: `-W %s' опциясы так эмес\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, fuzzy, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: `--%s' опциясы менен аргумент колдонулбайт\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, fuzzy, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: `%c%s' опциясы менен аргумент колдонулбайт\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: `%s' опциясы менен аргумент болуш керек\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: бул опция түшүнүксүз `--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: бул опция түшүнүксүз `%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: жараксыз опция -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: бул опциянын аргументи болуш керек -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, fuzzy, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: `-W %s' опциясы так эмес\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, fuzzy, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: `-W %s' опциясы менен аргумент колдонулбайт\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: `%s' опциясы менен аргумент болуш керек\n"
 
 # Памятты эмне дейбиз яя? ;)
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "Память жетпей калды"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Учурдагы папка алмаштырылбайтат"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Учурдагы папка сакталбайтат"
@@ -233,11 +238,11 @@ msgstr "Учурдагы папка сакталбайтат"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "„"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "“"
 
@@ -248,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[оО]"
 
@@ -259,16 +264,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[жЖ]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -276,11 +281,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -291,19 +296,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -311,7 +316,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -321,7 +326,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -331,7 +336,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -341,7 +346,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -351,7 +356,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -362,7 +367,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -373,7 +378,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -385,29 +390,29 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr "Каталарды бул жерге билдиргиле %s.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Каталарды бул жерге билдиргиле %s.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -582,8 +587,8 @@ msgstr "Архивде күтүлбөгөн жерде файлдын соңу 
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "N"
 
@@ -591,10 +596,11 @@ msgstr "N"
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "ФАЙЛ"
 
@@ -607,7 +613,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "`%s' ачылбай жатат"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "аргументтердин саны көп"
@@ -616,109 +622,109 @@ msgstr "аргументтердин саны көп"
 msgid "Garbage command"
 msgstr "Туура эмес команда"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Бул tar-архиви эмес окшойт"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Алынган жалпы байт"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Жазылган жалпы байт"
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Өчүрүлгөн жалпы байт: %s\n"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "record_size мааниси жарабайт"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Архивдин аты берилген жок"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Архивдин stdin/stdout текшерүүсү болбой жатат"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архив кысыштырылган абалда. %s опциясын колдонгула"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Кысыштырылган архивдерди жаңырталбай калды"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Лентанын башына келди, иш бүттү"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Өтө көп ката бар, иш бүттү"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Маалыматтын көлөмү = %lu блок"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Архивде түз жайлашпаган блок бар (%lu байт)"
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Архивдеги файл өчпөй калды; архив ачылбаса -i деп колдонгула"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek маалыматтын чегинде токтогон жок"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: жараксыз том номери бар"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Томдун номери батпай калды"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "%2$s үчүн %1$d-томду даярдап Enter'ди басыңыз: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Колдонуучудан жооп күтүбатканда файлдын соңу келип калды"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "ЭСКЕРТҮҮ: Архив толук эмес"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -729,72 +735,72 @@ msgstr ""
 " q\t\ttar программасынын ишин бүтүр\n"
 "y же Ввод\t\tИшти улант\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Команда строкасын ач\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Бул тизмени жаз\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Жаңы том жок; иш бүттү.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Файлдын аты берилген жок. Кайра жазып көргүлө.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Туура эмес ввод. Жардам үчүн ? жазгыла.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "%s командасы аткарылбай калды"
 
-#: src/buffer.c:1491
-#, c-format
-msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s бул томдо уланса керек: башкы-маалыматта аты кыскартылыптыр"
-
-#: src/buffer.c:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s мунун бул томдо уландысы жок"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, c-format
+msgid "%s is possibly continued on this volume: header contains truncated name"
+msgstr "%s бул томдо уланса керек: башкы-маалыматта аты кыскартылыптыр"
+
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s көлөмү туура эмес (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Бул том иретте эмес"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Архивдин тамгасы %s менен келишпей жатат"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s тому %s менен келишпей жатат"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 "%s: файлдын аты көп-томдук GNU башкы-маалымат үчүн өтө узун, кыскартылды"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 #, fuzzy
 msgid "write did not end on a block boundary"
 msgstr "rmtlseek маалыматтын чегинде токтогон жок"
@@ -805,20 +811,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Мазмундары окшобойт"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Архивде күтүлбөгөн жерде файлдын соңу бар"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Файл түрү окшошпойт"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Укук абалдары окшошпойт"
 
@@ -834,7 +840,7 @@ msgstr "Gid окшошпойт"
 msgid "Mod time differs"
 msgstr "Алмаштыруу убактылары окшошпойт"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Көлөмү окшошпойт"
 
@@ -843,137 +849,137 @@ msgstr "Көлөмү окшошпойт"
 msgid "Not linked to %s"
 msgstr "%s жака шилтенген эмес"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Символикалык шилтеме окшошпойт"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Аспап номери окшошпойт"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Текшерүү "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары салыштырды"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Архивдин ичинде префикстери алынган файл аттары бар."
 
-#: src/compare.c:535
+#: src/compare.c:539
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Текшерүү учурунда алгачкы файлдар табылбай калышы мүмкүн."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "ТЕКШЕРҮҮ КАТАСЫ: %d жараксыз башкы маалымат табылды"
 
-#: src/compare.c:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "%s болгон жерде нөлдүк блок бар"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: мунун ичинде %s деген кэш-папка белгиси бар; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "%s мааниси %s диапазонунун тышында %s..%s; ордуна %s коюлат"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "%s мааниси %s диапазонунун тышында %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Терс сегиздик системасында башкы маалыматтар даярдалууда"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: файлдын аты өтө узун (эң көп %d болот); кошулбайт"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: файлдын аты өтө узун (бөлүнбөйт); кошулбайт"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: шилтеменин аты өтө узун; кошулбайт"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл башка файл-системасында; кошулбайт"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "астындагылар кошулган жок"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Файлдын түрү белгисиз; файл каралбайт"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "%s жака шилтемелер жок.\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: файл алмашкан жок; кошулбайт"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: файл архив экен; кошулбайт"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "папка кошулган жок"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: файлды окуу учурунда файл алмашты"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: сокет каралбайт"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door каралбайт"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Эмики башкы-маалыматка өттү"
 
@@ -991,54 +997,54 @@ msgstr "%s: %s убакыт тамгасы өтө эски"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: %s убакыт тамгасы %s сек. келечекте"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Папка ачыбатканда күтүлбөгөн нерселер болду"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s: Папканын статусу билинелектен мурун аты алмашып кетти"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Удаа болгон файлдар жөнөкөй файл катары чыгарылып жатат"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Символикалык шилтемелерди түз шилтеме катары чыгарууга аракет кылынат"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Чыгарылган жок -- файл башка томдон уланып келиптир"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Башкы-маалымат узун"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары чыгарылды"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Азыркы %s жаңыраак же бирдей"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Бул файлдын резерв копиясы алыналбай калды"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s файлы %s деп алмаштыралбай калды"
@@ -1090,129 +1096,130 @@ msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
 # snapshot?
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Снэпшот файлда күтүлбөгөн жерде файлдын соңу (EOF) бар"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Записьтерди бөлүүчү символ жок"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Файлдын форматы туура эмес"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Форматтын бул версиясы иштетиле албайт: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Кошулуучу папка бузук: '%c' күтүлгөн бирок %#3o келди"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Кошулуучу папка бузук: 'X' копиялары бар"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Кошулуучу папка бузук: 'R' менен берилген ат бош"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Кошулуучу папка бузук: 'T'дан мурун 'R' жок"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Кошулуучу папка бузук: 'T' менен берилген ат бош"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Кошулуучу папка бузук: '%c' күтүлгөн бирок датанын соңу келди"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Кошулуучу папка бузук: 'X' эч колдонулган жок"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "%s шаблонун колдонуп убактылуу жаңы папка ачылган жок"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Папка өчүрүлгөн жок: stat иштебей койду"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: бул папка башка аспапта жайгашкан: өчүрүлбөйт"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s өчүрүлүп жатат\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Өчүрүлбөй жатат"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Муну аттады"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** нөлдөр болгон блок **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Файлдын соңу **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1220,89 +1227,89 @@ msgstr ""
 "экилик системадагы терси алынды"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 "Архивдин сегиздик системадагы мааниси болгон %.*s %s диапазонунун тышында"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Архивдеги base-64 түрүндөгү %s сөзү %s диапазонунун тышында"
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Архивдин %s мааниси %s түрүнүн %s..%s диапазонунда эмес"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " %s жака шилтеме\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " белгисиз файл түрү %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Узун шилтеме--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Узун ат--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Томдун башкы-маалыматы--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%s-байттан баштап уланды--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Жаңы папка ачылыбатат:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s'тин атын %s деп алмаштырды\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Аты %s деп алмаштыралбай калды"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s'тин атын кайра %s деп алмаштырды\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Файл окулганча өчүрүлүп кетти"
@@ -1318,32 +1325,196 @@ msgstr "туулган процесс"
 msgid "interprocess channel"
 msgstr "процесс-аралык канал"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Локалдуу файлдарды тандоо:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr "ФАЙЛды архивге кош (файлдын аты тире менен баштаган учурда пайдалуу)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "ПАПКА"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "ПАПКА папкасына өт"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "чыгарылатурган же жаңы ачылатурган файлдарды АТЫ деген файлдан кара"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T опциясы нөл менен бүткөн аттарды окуйт, -C опциясы өчүрүлөт"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+#, fuzzy
+msgid "unquote input file or member names (default)"
+msgstr ""
+"-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала "
+"тандалат)"
+
+#: src/names.c:84
+#, fuzzy
+msgid "do not unquote input file or member names"
+msgstr "-T менен алынган файлдардын аттарындагы ковычкалар калаберет"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "ШАБЛОН"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "ШАБЛОН менен уйкаш файлдар ишке алынбайт"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "ФАЙЛда тизмеленген шаблондор менен уйкаш файлдар ишке алынбайт"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"CACHEDIR.TAG файлы болгон папкалардын астындагылары тэг файлдан тышкарысы "
+"кошулбайт"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "CACHEDIR.TAG файлы болгон папкалардын астындагыларынын баары кошулбайт"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "CACHEDIR.TAG файлы болгон папкалар кошулбайт"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"ФАЙЛ файлы болгон папкалардын астындагылары ФАЙЛ файлындан тышкарысы "
+"кошулбайт"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "ФАЙЛ файлы болгон папкалардын астындагыларынын баары кошулбайт"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "ФАЙЛ файлы болгон папкалар кошулбайт"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "папкалардын тереңине кирет (алдынала тандалган)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "папкалардын тереңине кирип кетүүнү токтот"
+
+# inclusion, exclusion - Kyrgyz equiv?
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr "Файлдын атына уйкаштыруу опциялары (бардык шаблондорго тиешелүү):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "шаблондор файлдын атынын башталышы менен уйкаштырылат"
+
+#: src/names.c:134
+#, fuzzy
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+"шаблондор `/' символунан кийин келген ар жерде уйкашына каралат (алдынала "
+"тандалган)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "тамгалардын чоң-кичинесине каралбайт"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "уйкаштырууда тамгалардын чоң-кичинесине каралат (алдынала тандалган)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "шаблондор колдонулат (иштен алынбаган файлдарга алдынала тандалат)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "кандай жазылса ошондой колдонулат"
+
+#: src/names.c:144
+#, fuzzy
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "шаблондор `/' символун издейт (алдынала тандалган)"
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "шаблондор `/' символун издебейт"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "%s командасы аткарылбай калды"
 
-#: src/names.c:378
+#: src/names.c:786
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: файл тизмеси окулган"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "`%s'ке убакыт аталган жок"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: алынган файлдын атында бош тамгалар бар"
 
-#: src/names.c:824
+#: src/names.c:1242
 #, fuzzy
 msgid "Pattern matching characters used in file names"
 msgstr "Файлдын аттарында уйкаштарды издөө үчүн колдонулган тамгалар бар."
 
-#: src/names.c:826
+#: src/names.c:1244
 #, fuzzy
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
@@ -1351,45 +1522,45 @@ msgid ""
 msgstr ""
 "Уйкаштарды издөө үчүн --wildcards опциясын колдонуңуз, же --no-wildcards"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Архивде табылган жок"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Керектүү нерселер архивде табылган жок"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Архивдин тамгасы %s менен келишпей жатат"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "`-%s' жана `-%s' опцияларына стандарт кирүү(input) керек"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Архивдин форматы жарабайт"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Бул форматтагы архив үчүн жарабаган GNU өзгөчөлүктөрү суралууда"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1397,7 +1568,7 @@ msgstr ""
 "Ковычкалардын түрү белгисиз - `%s'. Тизмени көрүүгө `%s --quoting-"
 "style=help' жазгыла."
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1420,7 +1591,7 @@ msgstr ""
 "  tar -xf archive.tar          # Аты archive.tar болгон архивдин ичиндеги "
 "баардык файлдарды чыгарат.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1443,82 +1614,90 @@ msgstr ""
 "жөнөкөй вариант\n"
 "  never, simple   ар дайым жөнөкөй резерв копиялар сакталат\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Негизги иштөө абалы:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "архивдин ичиндеги файлдарды тизмелейт"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "архивден файлдарды чыгарат"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "жаңы архив жаратат"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "архив менен файл система айырмаларын табат"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "файлдарды архивдин аягына кошот"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "архивдин ичиндегилерден жаңы болгон файлдарды гана кошот"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "tar файлын архивге кошот"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "архивден өчүрөт (магниттик ленталарда жарабайт!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "архивдик томдун атын текшерет анан бүтүрөт"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Иштөөнүн модификаторлору:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "кеңири жайлашкан файлдарды эфектүү түрдө колго ал"
 
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
 # major, minor
-#: src/tar.c:448
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "БАШКЫ[.КИЙИНКИ]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 "кеңири жайлаштыруу форматынын версиясын тандайт (--sparce опциясы кошулган "
 "болот)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "эски GNU форматындагы резервдөө методун колго ал"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "жаңы GNU форматындагы резервдөө методун колго ал"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "окулбаган файлдар келгенде нөл болбогон статус менен ишти бүтүрбө"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1530,142 +1709,151 @@ msgstr ""
 "файлдардын аттары команда строкасында же -T опциясы менен берилгенде гана "
 "жарактуу болот. N-дин мааниси алдынала 1ге барабар."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "Архивдин ичиндегилерди издесе болот"
 
-#: src/tar.c:467
+#: src/tar.c:445
 #, fuzzy
 msgid "archive is not seekable"
 msgstr "Архивдин ичиндегилерди издесе болот"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "үстүнө көчүрүү контролу:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "архивди сактагандан кийин текшерүүгө аракет кылат"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "файлдарды архивге кошулгандан кийин өчүрөт"
 
-#: src/tar.c:485
+#: src/tar.c:463
 #, fuzzy
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "файлдарды чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрбө"
 
-#: src/tar.c:488
+#: src/tar.c:466
 #, fuzzy
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "файлдарды чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрбө"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "мурун бар болгон файл архивдеги копиясындан жаңы болсо аны алмаштырба"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрөт"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "бар болгон файлдын ордуна көчүрүүдөн мурун ал файлды өчүрөт"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "папканы чыгарардан мурун баардык иерархияларды өчүрөт"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "мурун бар болгон папкалардын мета-касиеттерин корго"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "чыгаруу учурунда бар болгон папкалардын мета-даталардын үстүнө жазылат "
 "(алдынала тандалат)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 #, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрөт"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "ПАПКА"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Чыгаруу() жолун танда:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "файлдарды стандарт чыгарууга (output) жөнөт"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr ""
 "архивден чыккан файлдарды канал(pipe) жолу менен башка программага жөнөтөт"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "туулган процесстердин бүтүрүү кодторуна караба"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "туулган процесстердин нөл болбогон бүтүрүү кодторун ката деп ишке ал"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Файлдын өзгөчөлүктөрүн колго алууда:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "кошулган файлдардын ээсин АТЫ деп кой"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "кошулган файлдардын группасын АТЫ деп кой"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-ЖЕ-ФАЙЛ"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "кошулган файлдардын алмашуу убактысын ДАТА-ЖЕ-ФАЙЛ дан ал"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "УКУК"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "кошулган файлдардын укук абалын УКУК деп кой"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "МЕТОД"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1675,32 +1863,32 @@ msgstr ""
 "сакта (МЕТОД='replace'; алдынала тандалат) же колдонуу убакыттарын "
 "алмашырбай туруп сактап кал (МЕТОД='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "файлдын алмаштыруу убактын чыгарбайт"
 
-#: src/tar.c:545
+#: src/tar.c:529
 #, fuzzy
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr "ээсин ошол бойдон калтырып файлдарды чыгарууга аракет кылат"
 
-#: src/tar.c:547
+#: src/tar.c:531
 #, fuzzy
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "файлдарды өзүңдүкү катары чыгарат"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "ээси/группа аттарын ардайым номерлер менен көрсөтөт"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "файлдын уруксат маалыматын да чыгар (суперколдонуучуга алдынала тандалат)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1708,16 +1896,12 @@ msgstr ""
 "архивден уруксат маалыматын чыгарыбатканда колдонуучунун umask'ын колдон "
 "(жөн колдонуучуларга алдынала тандлат)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "-p жана -s менен бирдей"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1725,190 +1909,190 @@ msgstr ""
 "чыгарылган папкалардын колдонуу убакыттарын жана уруксаттарын чыгаруу иши "
 "бүткөндөн кийин коёт"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "--delay-directory-restore опциясынын эффектин токтотот"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 #, fuzzy
 msgid "Handling of extended file attributes:"
 msgstr "Файлдын өзгөчөлүктөрүн колго алууда:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Аспапты тандоо жана ага өтүү:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "АРХИВ"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "АРХИВ деген архивдик файлды же аспапты колдонот"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "архивдик файлда эки точка болушуна карабастан ал локалдуу"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "rmt'нин ордуна КОМАНДА колдонулат"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "rsh'тын ордуна КОМАНДА колдонулат"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "драйв жана анын тыгыздыгын белгиле"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "көп томдуу архивди жарат/тизмеле/чыгар"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "N x 1024 байт жазгандан кийин лентаны алмаштыр"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "ар лентанын аягында скриптти иштет (-M опциясы колдонулат)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "ФАЙЛ файлынын ичиндеги том номерин колдон/жаңырт"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Аспаптын блоктолушу:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "БЛОК"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "ар маалыматка БЛОК x 512 байт түшөт"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "Ар маалыматка N байт түшөт, 512 көбөйтүндүсү"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "архивдеги нөлдүү блокторду өтүп кетет (EOF жөнүндө)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "окубатканда кайрадан блокторго бөлүп чык (4.2BSD каналдары үчүн)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Архивдин форматын тандоо:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "тандалган форматта архив жаратат"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "ФОРМАТ булардан бирөө болот:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "эски V7 tar форматы"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "tar <= 1.12 версиясында болгондой GNU форматы"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x форматы"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) форматы"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) форматы"
 
 # pax деген gid,atime сияктуу нерселер
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "pax менен бирдей"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "--format=v7 менен бирдей"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "--format=posix менен бирдей"
 
 # keyword эмне болот?
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ачкыч-сөз[[:]=мааниси][,ачкыч-сөз[[:]=мааниси]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "контролдоо үчүн pax ачкыч сөздөрү"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1916,189 +2100,85 @@ msgstr ""
 "том аты ТЕКСТ болгон архив жарат; тизмелөө/чыгаруу учурунда, ТЕКСТ дегенди "
 "том атынын глоб шаблону катары колдон"
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "ПРОГ"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "ПРОГ менен ишке ал (-d опциясы болушу керек)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Локалдуу файлдарды тандоо:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr "ФАЙЛды архивге кош (файлдын аты тире менен баштаган учурда пайдалуу)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "ПАПКА папкасына өт"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "чыгарылатурган же жаңы ачылатурган файлдарды АТЫ деген файлдан кара"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T опциясы нөл менен бүткөн аттарды окуйт, -C опциясы өчүрүлөт"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала "
-"тандалат)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "-T менен алынган файлдардын аттарындагы ковычкалар калаберет"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "ШАБЛОН"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "ШАБЛОН менен уйкаш файлдар ишке алынбайт"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "ФАЙЛда тизмеленген шаблондор менен уйкаш файлдар ишке алынбайт"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"CACHEDIR.TAG файлы болгон папкалардын астындагылары тэг файлдан тышкарысы "
-"кошулбайт"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "CACHEDIR.TAG файлы болгон папкалардын астындагыларынын баары кошулбайт"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "CACHEDIR.TAG файлы болгон папкалар кошулбайт"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-"ФАЙЛ файлы болгон папкалардын астындагылары ФАЙЛ файлындан тышкарысы "
-"кошулбайт"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "ФАЙЛ файлы болгон папкалардын астындагыларынын баары кошулбайт"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "ФАЙЛ файлы болгон папкалар кошулбайт"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "папкалардын тереңине кирип кетүүнү токтот"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "архивди жасабатканда локалдуу файл системасында кал"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "папкалардын тереңине кирет (алдынала тандалган)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "файл аттарынын башындагы '/'терди өчүрбө"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот"
 
-#: src/tar.c:765
+#: src/tar.c:697
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "МҮЧӨНҮН-АТЫ"
 
-#: src/tar.c:767
+#: src/tar.c:699
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "архивдеги МҮЧӨНҮН-АТЫ мүчөсүнөн башта"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "ДАТА-ЖЕ-ФАЙЛ'дан жаңы болгон файлдарды гана сакта"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "датасы алмашканда гана дата жана убактысын салыштыр"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "өчүрөрдөн мурун копиясын сактап кал, CONTROL версиясын танда"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2106,105 +2186,63 @@ msgstr ""
 "өчүрөрдөн мурун копиясын сактап калат, жалпы колдонулган суфикс кошулат (бул "
 "суфикс SIMPLE_BACKUP_SUFFIX жолу менен алмаштырылбаган болсо '~' болот)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Файлдын атынын алмашуулары:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "чыгаруу учурунда файл аттарынын башындагы N компонентти алып салат"
 
 # выражение кыргызча кандай? СҮЙЛӨМ башка жерде да бар
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "СҮЙЛӨМ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "файлдардын аттарын алмаштыруу үчүн sed replace EXPRESSION колдонгула"
 
-# inclusion, exclusion - Kyrgyz equiv?
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr "Файлдын атына уйкаштыруу опциялары (бардык шаблондорго тиешелүү):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "тамгалардын чоң-кичинесине каралбайт"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "шаблондор файлдын атынын башталышы менен уйкаштырылат"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-"шаблондор `/' символунан кийин келген ар жерде уйкашына каралат (алдынала "
-"тандалган)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "уйкаштырууда тамгалардын чоң-кичинесине каралат (алдынала тандалган)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "шаблондор колдонулат (иштен алынбаган файлдарга алдынала тандалат)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "кандай жазылса ошондой колдонулат"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "шаблондор `/' символун издебейт"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "шаблондор `/' символун издейт (алдынала тандалган)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Маалыматтандыруу:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "ишке алынган файлдарды кеңири маалыматы менен тизмеле"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 #, fuzzy
 msgid "warning control"
 msgstr "үстүнө көчүрүү контролу:"
 
 #  Ушу 'record' сөзүнө жакшы котормо табалбай койдум
 #  'маалымат' деп жазыбаттым эле, бул жерде келишпей калаткен
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "ар N записьтен кийин маалымат берип турат (алдынала 10 болот)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "баардык шилтемелер кошулбай калса билдирүү жазып чыгар"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2216,36 +2254,36 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 жана SIGUSR2; SIG префикси жазылбаган "
 "аттарын да колдонсо болот."
 
-#: src/tar.c:834
+#: src/tar.c:744
 #, fuzzy
 msgid "print file modification times in UTC"
 msgstr "файлды алмаштыруу датасын UTC түрүндө көрсөт"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "чыккан кеңири маалыматты ФАЙЛ файлына жибер"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "ар билдирүүдө архивдин ичиндеги блок номерин көрсөт"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "ар ишти аткарууга макулдук сурап тур"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "tar'да алдынала коюлган опцияларды көрсөтөт"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2253,33 +2291,33 @@ msgstr ""
 "тизмелөө же чыгаруу учурунда издөө критериясына жатпаган папкаларды да "
 "тизмелейт"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "алмаштыруудан кийин файлдын же архивдин аттарын көрсөтөт"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "аттарга ковычка кошуу стилин тандаңыз; жарактуу СТИЛЬ түрдөрү төмөндө "
 "көрсөтүлөт."
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "STRING ичинде болгон тамгаларга кошумча ковычка кошот"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "STRING ичинде болгон тамгаларга ковычка кошпойт"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Келишүү опциялары:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2287,56 +2325,63 @@ msgstr ""
 "жаңы архив жасабатканда --old-archive менен бирдей; чыгарыбатканда --no-same-"
 "owner менен бирдей"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Башка опциялар:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "зыяндуу көрүнгөн опцияларды колдонууга тыюуу салат"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: %s орунуна баралбай жатат"
+
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "`-Acdtrux' опцияларынан бирөөнү гана колдоно аласыңар"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Сигналдын аты белгисиз: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Датанын шаблон файлы табылган жок"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Белгисиз %1$s дата форматынын ордуна %2$s коюлат"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, fuzzy, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "%s опциясы: `%s' датасын %s деп алды"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, fuzzy, c-format
 msgid "filter the archive through %s"
 msgstr "архивди gzip менен ишке ал"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 #, fuzzy
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style опциясы үчүн мындай аргументтер бар:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2344,188 +2389,199 @@ msgstr ""
 "\n"
 "*Бул* tar алдынала мындай иштетилет:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Ээси жарабайт"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Блок көлөмү жараксыз"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Лентанын узундугу жараксыз"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 #, fuzzy
 msgid "Invalid incremental level value"
 msgstr "Файлдын форматы туура эмес"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Бирден көп ченемдөөчү дата бар"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "кеңири жайлаштыруу форматынын версиясы жарактуу эмес"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "Бул платформада --atime-preserve='system' опциясы иштебейт"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint опциясына жазылган аргумент сан эмес"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Опцияда жарабаган укук абалы берилди"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Жарабаган номер"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Маалымат көлөмү жарабайт"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Маалыматтын көлөмү %d көбөйтүндүсү болушу керек."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Элементтердин саны жарабайт"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "--to-command опциясы бир эле жолу жазылыш керек"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Тыгыздык аргументи туура эмес: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Түшүнүксүз тыгыздык: `%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "*Бул* tar `-[0-7][lmh]' опцияларын иштетпейт"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "`%s' жанындагы санды окубатканда ката чыкты"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "%s шаблону колдонулбайт"
+msgid "non-option arguments in %s"
+msgstr "%2$s үчүн %1$s аргументи жарабайт"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "`%s'ке убакыт аталган жок"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Эски болгон `%c' опциясына параметр керек."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Бир нече архив файлы болсо `-M' опциясы колдонулушу керек"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 #, fuzzy
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Көп-томдуу архивдерди текшералбай калды"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Кысыштырылган архивдерди текшералбай калды"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Көп-томдуу кысыштырылган архивдерди колдоналбай калды"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Кысыштырылган архивдер кошулалбайт"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Бош архив жаратуудан уялып баш тартып жатат"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "`-Aru' опциялары `-f -' менен келишпейт"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "`-Acdtrux' опцияларынан бирөөнү тандап колдонуңуз"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2583,36 +2639,36 @@ msgstr "Кеңейтилген башкы-маалымат бузук: жаңы
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Кеңейтилген башкы-маалыматта белгисиз `%s' сөзү каралбайт"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "%s=%s түрүндөгү кеңейтилген башкы-маалымат %s..%s диапазондун тышында"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s туура эмес"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s ашыкча көп"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Кеңейтилген башкы-маалымат бузук: туура эмес %s: күтүлбөгөн жерде бул - %c - "
 "бөлүүчү символ бар"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Кеңейтилген башкы-маалымат бузук: туура эмес %s: так санда маани бар"
@@ -2653,7 +2709,7 @@ msgstr "Жазууну текшерүү жери: %u"
 msgid "Read checkpoint %u"
 msgstr "Окуунун текшерүү жери: %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2661,74 +2717,78 @@ msgstr ""
 "genfile, GNU paxutils пакетинин дата файлдарын ишке алат.\n"
 "ОПЦИЯЛАР мындай:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Жаңы файл ачуу опциялары:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "КӨЛӨМ"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Көсөтүлгөн КӨЛӨМдө жаңы файл ач"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Стандарт чыгарууга жазбай, АТЫ деген файлга жаз"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Файлдын аттарын ФАЙЛдан ал"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T опциясы бош/нөл (null) менен бүткөн аттарды окуйт"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Файлды тандалган ШАБЛОН менен толтурат. ШАБЛОН 'default' же 'zeros' болот"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Кеңири жайлашкан файлдын блок көлөмү"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Файлды кеңири жайлаштыр. Кийинки команда строкаларында файлдын картасы бар."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 #, fuzzy
 msgid "OFFSET"
 msgstr "ОРУН"
 
 # seek the given offset - orunga jyl
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "данный(data) жазаардан мурун айтылган орунга жыл"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Файлдын статистикасынын опциялары:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Алынган ар бир файл үчүн struct stat курамын көрсөтөт. Алдынала тандалган "
 "ФОРМАТ мындай: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Синхрондуу иштетүүнүн опциялары:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 #, fuzzy
 msgid "OPTION"
 msgstr " [ОПЦИЯ...]"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 #, fuzzy
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
@@ -2737,19 +2797,19 @@ msgstr ""
 "Жазылган КОМАНДАны иштет. Бул --checkpoint жана --cut, --append, --touch "
 "бирөөсү менен колдонулганда пайдалуу"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "N текшерүү жерине жеткенде буларды (төмөндү карагыла) аткар"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Эмики --touch опциясы үчүн дата жазгыла"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Өтүлгөн текшерүү жердерди жана КОМАНДАнын бүтүрүү статусун көрсөтөт"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2757,7 +2817,7 @@ msgstr ""
 "Синхрондуу аткаруу иштери. Булар --checkpoint опциясы менен берилгенн "
 "текшерүү жерине жеткенде аткарылат."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2765,163 +2825,156 @@ msgstr ""
 "ФАЙЛды --length опциясы менен берилген көлөмгө кыскартат (берилбеген болсо 0 "
 "болот)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "ФАЙЛга КӨЛӨМ байт кошот. КӨЛӨМ --length опциясы менен берилет."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "ФАЙЛдын колдонуу жана алмашуу убакыттарын жаңылайт."
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Бул команданы иштеткиле - КОМАНДА"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Жараксыз көлөм: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Сан жарактуу маанилердин тышында: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Көлөмү терс сан: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) аткарылбай калды"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "`%s' жанындагы санды окубатканда ката чыкты"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Датанын форматы түшүнүксүз"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТТЕР...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' ачылбай жатат"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "издөө болбой калды"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "файлдын атында бош тамга бар"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "кеңири(чоң) файлдарды стандарт чыгарууга жибералбайт, --file опциясын "
 "колдонуңуз"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "туура эмес маска (`%s' жанында)"
 
 # фиелд деген кандай болот?
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Белгисиз поле `%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "`%s'ке убакыт аталган жок"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "`%s' ачылбай жатат"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "%s командасы аткарылбай калды"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' ачылбай жатат"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Команда толук аткарылды\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Команда %d статусу менен аткарылбай калды\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Команда %d сигналы менен жабылды\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Команда %d сигналы менен токтотулду\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Команда core dump менен бүттү\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Команда жабылды\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat опциясы менен файл аттары жазылыш керек"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "чыгатурган файлдарды архивдегидей кылып сортто"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "Колдонулган иштетүү абалда --occurrence колдонулбайт"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "--listed-incremental менен --newer чогу колдонулбайт"
+#~ msgid "same as both -p and -s"
+#~ msgstr "-p жана -s менен бирдей"
 
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: мындай опция колдонулбайт -- %c\n"
@@ -2993,6 +3046,9 @@ msgstr "--stat опциясы менен файл аттары жазылыш к
 #~ msgid "suppress this warning."
 #~ msgstr "опциясы менен бул эскертүүнү көрсөтпөс кыл."
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "чыгатурган файлдарды архивдегидей кылып сортто"
+
 #~ msgid "filter the archive through bzip2"
 #~ msgstr "архивди bzip2 менен ишке ал"
 
@@ -3006,6 +3062,12 @@ msgstr "--stat опциясы менен файл аттары жазылыш к
 #~ msgstr ""
 #~ "Эскертүү: -I опциясы иштетилбейт; балким -j же -T дегиңиз келди эле?"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "Колдонулган иштетүү абалда --occurrence колдонулбайт"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "--listed-incremental менен --newer чогу колдонулбайт"
+
 #~ msgid "Error exit delayed from previous errors"
 #~ msgstr "Ката үчүн ишти бүтүрүү, мурунку каталардан улам кеч аткарылды"
 
index 13d55969dbf10df59858872a2f82db1d90386225..ae745320c58a2d3dd34ac37e7ad54f824caf7b10 100644 (file)
Binary files a/po/ms.gmo and b/po/ms.gmo differ
index fae62a844d0e4b5e3be84cd298cc9f7988bf3ca7..38ad34efa1fafd1c0a6c09144f59ea34ad105266 100644 (file)
--- a/po/ms.po
+++ b/po/ms.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2002 Free Software Foundation, Inc.
 # Hasbullah Bin Pit <sebol@ikhlas.com>, 2002.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2002-11-23 02:38+0800\n"
 "Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n"
 "Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
@@ -16,193 +16,198 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "hujah tidak sah %s bagi %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "hujah kabur %s bagi %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Hujah sah adalah:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr ""
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr ""
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr ""
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr ""
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 #, fuzzy
 msgid " [OPTION...]"
 msgstr ""
 "\n"
 "Pengunaan : %s [OPSYEN]...\n"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Cuba '%s --help' untuk maklumat lanjut.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 "\n"
 "Lapor pepijat ke <bug-tar@gnu.org>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Ralat sistem tidak diketahui"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr ""
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr ""
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr ""
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr ""
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr ""
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr ""
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, fuzzy, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: opsyen `%s' memerlukan hujah\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: opsyen `%s' adalah kabur\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opsyen `-W %s' adalah kabur\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, fuzzy, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: opsyen `--%s' tidak mengizinkan hujah\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: opsyen `%s' memerlukan hujah\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: opsyen tidak dikenali `--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: opsyen tidak dikenali '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opsyen tidak sah -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: opsyen memerlukan hujah -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, fuzzy, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: opsyen `-W %s' adalah kabur\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: opsyen `%s' memerlukan hujah\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memori keletihan"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Tak dapat tukar direktori kerja"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Tak dapat simpan direktori kerja"
@@ -228,12 +233,12 @@ msgstr "Tak dapat simpan direktori kerja"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
 # ui/galeon.glade.h:3
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -243,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr ""
 
@@ -253,16 +258,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -270,11 +275,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -285,19 +290,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, fuzzy, c-format
 msgid "Written by %s.\n"
 msgstr "Ditulis oleh F. Pinard."
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, fuzzy, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Ditulis oleh F. Pinard."
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, fuzzy, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Ditulis oleh F. Pinard."
@@ -305,7 +310,7 @@ msgstr "Ditulis oleh F. Pinard."
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -315,7 +320,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -325,7 +330,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +350,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -356,7 +361,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -367,7 +372,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -379,7 +384,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -388,22 +393,22 @@ msgstr ""
 "\n"
 "Lapor pepijat ke <bug-tar@gnu.org>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Menukarnama %s kembali ke %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -582,8 +587,8 @@ msgstr ""
 "  --version  Output maklumat versi.\n"
 "  --help  Output bantuan ini.\n"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr ""
 
@@ -591,10 +596,11 @@ msgstr ""
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr ""
 
@@ -607,7 +613,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "Tak dapat tutup"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -616,114 +622,113 @@ msgstr ""
 msgid "Garbage command"
 msgstr "Arahan sampah"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Ia nampaknya bukan seperti arkib tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n"
+msgstr ""
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(paip)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Nilai tidak sah bagi record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Tiada nama arkib diberi"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Tak dapat menentusahkan arkib stdin/stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Tak dapat mengemaskini arkib termampat"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Pada permulaan pita, keluar sekarang"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Terlalu banyak ralat, keluar"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: mengandungi nombor volum yg tidak sah"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 #, fuzzy
 msgid "Volume number overflow"
 msgstr "Nombor volum melimpah"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "EOF dimana maklumbalas pengguna dijangka"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "AMARAN: Arkib tidak lengkap"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -735,71 +740,71 @@ msgstr ""
 " !          Spawn  subshell\n"
 " ?          Cetak senarai ini\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Tiada volum baru; keluar.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "Arahan '%s' gagal"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s tidak bersambung pada volum ini"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s adalah salah saiz (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Volum ini tidak dalam turutan"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkib tidak dilabelkan supaya memadan %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volum %s tidak sepadan %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr ""
 
@@ -810,20 +815,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Kandungan berlainan"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "EOF tanpa diduga pada arkib"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Jenis fail berbeza"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Mod berbeza"
 
@@ -839,7 +844,7 @@ msgstr "Gid berbeza"
 msgid "Mod time differs"
 msgstr "Masa mod berbeza"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Saiz berbeza"
 
@@ -848,138 +853,138 @@ msgstr "Saiz berbeza"
 msgid "Not linked to %s"
 msgstr "Tidak dipautkan ke %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symlink berbeza"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Nombor beranti berbeza"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Tentusah"
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Jenis fail tak dikenali '%c', berlainan dengan fail normal"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr ""
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "nilai %s diluar julat %s %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Menjana pengepala oktal negatif"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, fuzzy, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: fail tidak berubah; tidak dilonggokkan"
 
-#: src/create.c:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: fail tidak berubah; tidak dilonggokkan"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Jenis fail tak dikenali; fail diabaikan"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "Pautan ke %s\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fail tidak berubah; tidak dilonggokkan"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fail adalah arkib; tidak dilonggokkan"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fail berubah bila kami membacanya"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket diabaikan"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: pintu diabaikan"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Melangkah ke pengepala berikut"
 
@@ -997,55 +1002,55 @@ msgstr ""
 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:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Ketidakkonsistenan luar dugaan bila membuat direktori"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s: Direktori ditukarnama sebelum statusnya boleh diekstrak"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Mengekstrak fail bersambung sebagai fail biasa"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Cuba mengekstrak pautan simbolik sebagai pautan keras"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Penghujungan tanpa diduga data imej PNM"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Jenis fail tak dikenali '%c', diekstrak sebagai fail biasa"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tak dapat backup fail ini"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Tak dapat menukarnama ke %s"
@@ -1096,216 +1101,216 @@ msgstr "Nombot inod tidak sah"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "EOF tanpa diduga pada arkib"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Tak dapat memperuntukkan memori bagi faktor pemblokan %d"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Memadam %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: tak dapat buang"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr ""
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok TIADA **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Akhir Fail **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Nilai oktal arkib %.*s diluar julat %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr "Pautan ke %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Pengepala Volum--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Bersambung pada byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Mencipta direktori:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Menukarnama %s ke %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Tak dapat menukarnama ke %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Menukarnama %s kembali ke %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fail dibuang sebelum kami membacanya"
@@ -1318,81 +1323,232 @@ msgstr "proses anak"
 msgid "interprocess channel"
 msgstr "saluran antaraproses"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "opsyen format arkib konflik"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr ""
+
+#: src/names.c:73
+#, fuzzy
+msgid "change to directory DIR"
+msgstr "Tak dapat tukar direktori kerja"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr ""
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr ""
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr ""
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr ""
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr ""
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr ""
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr ""
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr ""
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr ""
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "Volum %s tidak sepadan %s"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "Arahan '%s' gagal"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Tak dijumpai pada arkib"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Tak dijumpai pada arkib"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Arkib tidak dilabelkan supaya memadan %s"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, 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:164
+#: src/tar.c:165
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Kumpulan tidak sah"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1412,7 +1568,7 @@ msgstr ""
 "verbose.\n"
 "  %s -xf arkib.tar           # Ekstrak semua fail drpd arkib.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1424,80 +1580,88 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:425
+#: src/tar.c:401
 #, fuzzy
 msgid "create a new archive"
 msgstr "EOF tanpa diduga pada arkib"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1505,640 +1669,511 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr ""
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr ""
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:516
+#: src/tar.c:494
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Ralat ketika menulis ke output piawai"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr ""
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr ""
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:609
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Tak dapat menentusah arkib multi-volume"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:653
+#: src/tar.c:635
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "opsyen format arkib konflik"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Opsyen mampatan konflik"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#: src/tar.c:712
-#, fuzzy
-msgid "change to directory DIR"
-msgstr "Tak dapat tukar direktori kerja"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr ""
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr ""
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr ""
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr ""
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr ""
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr ""
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr ""
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Membuang awalan  `%.*s' drpd nama ahli"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "Volum %s tidak sepadan %s"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2146,306 +2181,324 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Tak dapat rayau ke %s"
+
+#: src/tar.c:934
 #, fuzzy
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opsyen mampatan konflik"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Fail tarikh tidak dijumpai"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Mengganti %s bagi format tarikh tak diketahui %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Pemilik tidak sah"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Faktor pemblokan tidak sah"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "panjang pita tidak sah"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Mod tidak sah diberi pada opsyen"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 #, fuzzy
 msgid "Invalid number"
 msgstr "Nombot inod tidak sah"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Saiz rekod tidak sah"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Saiz rekod mesti dalam gandaan %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "panjang pita tidak sah"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr ""
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr ""
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr ""
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "%s: Tak dapat rayau ke %s"
+msgid "non-option arguments in %s"
+msgstr "hujah tidak sah %s bagi %s"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr ""
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "OPsyen lama `%c' memerlukan hujah."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Fail akrib beraneka memerlukan opsyen `-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Tak dapat menentusah arkib multi-volume"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Tak dapat menentusahkan arkib termampat"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Tak dapat menggunakan arkib multi-volume termampat"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Tak dapat mengemaskini arkib termampat"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Secara dayus enggan mencipta arkib kosong"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Opsyen `-Aru' tak serasi dengan  `-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Anda mesti nyatakan satu drpd opsyen `-Acdtrux'"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2502,34 +2555,34 @@ msgstr ""
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2570,254 +2623,255 @@ msgstr "Menulis titiksemak %d"
 msgid "Read checkpoint %u"
 msgstr "Membaca titiksemak %d"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Menjana fail data untuk suit ujian GNU tar.\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 #, fuzzy
 msgid "File creation options:"
 msgstr "Opsyen mampatan konflik"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "Ralat ketika menulis ke output piawai"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr ""
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Setem masa tidak sah"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Nombor inod diluar julat"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Ralat sistem tidak diketahui"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "Tak dapat tutup"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Tak dapat rayau ke %s"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s: Tak dapat menukarnama ke %s"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "Arahan '%s' gagal"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "%s: Tak dapat symlink ke %s"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Anak mati dengan isyarat %d"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "Nama fail modul"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Tak boleh gabung  --listed-incremental dengan --newer"
-
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: opsyen salah  -- %c\n"
 
@@ -3012,6 +3066,9 @@ msgstr "Nama fail modul"
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Ditulis oleh John Gilmore dan Jay Fenlason."
 
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Tak boleh gabung  --listed-incremental dengan --newer"
+
 #~ msgid "Error exit delayed from previous errors"
 #~ msgstr "Ralat keluar dilewatkan drpd ralat terdahulu"
 
index 2cacef0ec548d018e04670e1af49586b94e3b61a..9a122a114ba6a38ad314ef6c8743cac1f14d9ada 100644 (file)
Binary files a/po/nb.gmo and b/po/nb.gmo differ
index e59ae4af275198bca470c81393d477660816515b..259f6e59abcdaa5f73cdbe2b6373ad9617c54dfd 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
-# Norwegian messages for GNU tar.  (bokmål dialect)
-# Copyright (C) 1996 Free Software Foundation, Inc.
-# Karl Anders Øygard <Karl.Oygard@fou.telenor.no>, 1996.
+# Norwegian (Bokmål) translation of GNU tar.
+# Copyright (C) 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the tar package.
+# Karl Anders Øygard <Karl.Oygard@fou.telenor.no>, 1996.
+# Espen Skjelnes Johnsen <espejohn@sn.no>, 1997.
+# Johnny A. Solbu <johnny@solbu.net, 2014.
+# Åka Sikrom <a4@hush.com>, 2016.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.12\n"
+"Project-Id-Version: tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 1997-06-05 19:39 MET DST\n"
-"Last-Translator: Espen Skjelnes Johnsen <espejohn@sn.no>\n"
-"Language-Team: Norwegian-bokmål <no@li.org>\n"
-"Language: \n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-29 07:42+0100\n"
+"Last-Translator: Åka Sikrom <a4@hush.com>\n"
+"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
+"Language: nb\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.5.4\n"
 
-#: gnu/argmatch.c:135
-#, fuzzy, c-format
+#: gnu/argmatch.c:133
+#, c-format
 msgid "invalid argument %s for %s"
-msgstr "Ugyldig datoformat «%s»"
+msgstr "%s er et ugyldig argument for %s"
 
-#: gnu/argmatch.c:136
-#, fuzzy, c-format
+#: gnu/argmatch.c:134
+#, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "Tvetydig mønster «%s»"
+msgstr "%s er et flertydig argument for %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
-msgstr ""
+msgstr "Følgende argumenter er gyldige:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr ""
+msgstr "ARGP_HELP_FMT: verdien av %s er lik eller lavere enn %s"
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr ""
+msgstr "%.*s: parameteret ARGP_HELP_FMT må ha en verdi"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-msgstr ""
+msgstr "%.*s: parameteret ARGP_HELP_FMT må være positivt"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr ""
+msgstr "%.*s: Ukjent «ARGP_HELP_FMT»-parameter"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr ""
+msgstr "Søppel i ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
+"Argumenter som er obligatoriske eller valgfrie for lange valg er også "
+"henholdsvis obligatoriske eller valgfrie for tilsvarende korte valgnavn."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
-msgstr ""
+msgstr "Bruk:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
-msgstr ""
+msgstr "  eller: "
 
-#: gnu/argp-help.c:1659
-#, fuzzy
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
-msgstr ""
-"\n"
-"Bruk: %s [FLAGG]...\n"
+msgstr " [VALG …]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+#: gnu/argp-help.c:1688
+#, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
-msgstr "Tast «%s --help» for mer informasjon.\n"
+msgstr "Prøv Â«%s --help» eller Â«%s --usage» for mer informasjon.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
-msgstr ""
+msgstr "Rapporter programfeil til %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
-msgstr "Unkjent systemfeil"
+msgstr "Ukjent systemfeil"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
-msgstr ""
+msgstr "vis denne hjelpeteksten"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
-msgstr ""
+msgstr "vis en kort bruksanvisning"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
-msgstr ""
+msgstr "NAVN"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
-msgstr ""
+msgstr "endre programnavn"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
-msgstr ""
+msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
-msgstr ""
+msgstr "heng i valgt antall SEKunder (standard: 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
-msgstr ""
+msgstr "skriv ut programversjon"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr ""
+msgstr "(PROGRAMFEIL) Ingen versjon er kjent."
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
-msgstr ""
+msgstr "%s: For mange argumenter\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr ""
+msgstr "(PROGRAMFEIL) Valget burde blitt gjenkjent."
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
-msgstr ""
+msgstr "skrivefeil"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr ""
+msgstr "%s: valget «%s» er flertydig, og kan bety følgende:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
-#, fuzzy, c-format
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: valget «%s» er flertydig\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
+#, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "Gammelt flagg «%c» behøver et argument."
+msgstr "%s: valget «--%s» tillater ikke argumenter\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
-#, fuzzy, c-format
+#: gnu/getopt.c:667 gnu/getopt.c:672
+#, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "Gammelt flagg «%c» behøver et argument."
+msgstr "%s: valget «%c%s» tillater ikke argumenter\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
-#, fuzzy, c-format
+#: gnu/getopt.c:715 gnu/getopt.c:734
+#, c-format
 msgid "%s: option '--%s' requires an argument\n"
-msgstr "Gammelt flagg «%c» behøver et argument."
+msgstr "%s: valget «--%s» krever et argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
-msgstr ""
+msgstr "%s: «--%s» er et ukjent valg\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
-msgstr ""
+msgstr "%s: «%c%s» er et ukjent valg\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr ""
+msgstr "%s: -- «%c» er et ukjent valg\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
-#, fuzzy, c-format
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
+#, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "Gammelt flagg «%c» behøver et argument."
+msgstr "%s: valget -- «%c» krever et argument\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
-msgstr ""
+msgstr "%s: valget «-W %s» er flertydig\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
-#, fuzzy, c-format
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
+#, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "Gammelt flagg «%c» behøver et argument."
+msgstr "%s: valget «-W %s» tillater ikke argumenter\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
-#, fuzzy, c-format
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
+#, c-format
 msgid "%s: option '-W %s' requires an argument\n"
-msgstr "Gammelt flagg «%c» behøver et argument."
+msgstr "%s: valget «-W %s» krever et argument\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
-#, fuzzy
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
-msgstr "Minne oppbrukt"
+msgstr "minnet er fullt"
 
-#: gnu/openat-die.c:40
-#, fuzzy, c-format
+#: gnu/openat-die.c:38
+#, c-format
 msgid "unable to record current working directory"
-msgstr "Kunne ikke finne navnet på aktiv filkatalog"
+msgstr "klarte ikke å huske gjeldende arbeidsmappe"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
-msgstr ""
+msgstr "klarte ikke å gå tilbake til opprinnelig arbeidsmappe"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -227,13 +236,13 @@ msgstr ""
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
-msgstr ""
+msgstr "«"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
-msgstr ""
+msgstr "»"
 
 #. TRANSLATORS: A regular expression testing for an affirmative answer
 #. (english: "yes").  Testing the first character may be sufficient.
@@ -241,9 +250,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
-msgstr ""
+msgstr "^[jJ]"
 
 #. TRANSLATORS: A regular expression testing for a negative answer
 #. (english: "no").  Testing the first character may be sufficient.
@@ -251,28 +260,28 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
-msgstr ""
+msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Pakket av %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Pakket av %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
+#: gnu/version-etc.c:84
 msgid "(C)"
-msgstr ""
+msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -281,136 +290,164 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Lisens GPLv3+: GNU GPL versjon 3 eller senere <http://gnu.org/licenses/gpl."
+"html>.\n"
+"Dette er fri programvare. Du står fritt til å endre og dele den videre.\n"
+"Det stilles INGEN GARANTI, i den grad dette tillates innenfor gjeldende "
+"lovverk.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
-msgstr ""
+msgstr "Skrevet av %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
-msgstr ""
+msgstr "Skrevet av %s og %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr ""
+msgstr "Skrevet av %s, %s og %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Skrevet av %s, %s, %s\n"
+"og %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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Skrevet av %s, %s, %s,\n"
+"%s and %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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"Skrevet av %s, %s, %s,\n"
+"%s, %s og %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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"Skrevet av %s, %s, %s,\n"
+"%s, %s, %s og %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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Skrevet av %s, %s, %s,\n"
+"%s, %s, %s, %s\n"
+"og %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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Skrevet av %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s og %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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"Skrevet av %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s og andre.\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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
+"\n"
+"Rapporter programfeil til: %s\n"
+"Rapporter oversettelsesfeil til <i18n-nb@lister.ping.uio.no>\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr ""
+msgstr "Rapporter programfeil i %s til: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Nettside for %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
+msgstr "Nettside for %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
+"Generell hjelp til bruk av GNU-programvare: <http://www.gnu.org/gethelp/>\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:60 lib/paxerror.c:73
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot %s"
-msgstr "Kan ikke utføre «stat» på filen %s"
+msgstr "%s: Klarte ikke å utføre %s"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -419,408 +456,398 @@ msgstr "Kan ikke utf
 #: lib/paxerror.c:86
 #, c-format
 msgid "%s: Warning: Cannot %s"
-msgstr ""
+msgstr "%s: Advarsel: klarte ikke å utføre %s"
 
 #: lib/paxerror.c:95
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot change mode to %s"
-msgstr "%s: Kan ikke endre modus til %0.4o"
+msgstr "%s: Klarte ikke å endre modus til %s"
 
 #: lib/paxerror.c:103
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot change ownership to uid %lu, gid %lu"
-msgstr "%s: Kan ikke endre eier til uid %d, gid %d"
+msgstr "%s: Klarte ikke å endre eierskap til uid %lu, gid %lu"
 
 #: lib/paxerror.c:129
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot hard link to %s"
-msgstr "Kan ikke lese link %s"
+msgstr "%s: Klarte ikke å lage hard lenke til %s"
 
 #: lib/paxerror.c:181 lib/paxerror.c:213
-#, 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] "Lesefeil ved byte %ld under lesing av %d bytes i fil %s"
-msgstr[1] "Lesefeil ved byte %ld under lesing av %d bytes i fil %s"
+msgstr[0] "%s: Lesefeil ved byte %s under lesing av %lu byte"
+msgstr[1] "%s: Lesefeil ved byte %s under lesing av %lu byte"
 
 #: lib/paxerror.c:194
-#, 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] "Lesefeil ved byte %ld under lesing av %d bytes i fil %s"
-msgstr[1] "Lesefeil ved byte %ld under lesing av %d bytes i fil %s"
+msgstr[0] "%s: Advarsel: lesefeil ved byte %s under lesing av %lu byte"
+msgstr[1] "%s: Advarsel: lesefeil ved byte %s under lesing av %lu byte"
 
 #: lib/paxerror.c:261
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot seek to %s"
-msgstr "Kan ikke skrive til %s"
+msgstr "%s: Klarte ikke å søke til %s"
 
 #: lib/paxerror.c:277
 #, c-format
 msgid "%s: Warning: Cannot seek to %s"
-msgstr ""
+msgstr "%s: Advarsel: klarte ikke å søke til %s"
 
 #: lib/paxerror.c:286
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot create symlink to %s"
-msgstr "%s: Kunne ikke lage symbolisk link til «%s»"
+msgstr "%s: Klarte ikke å lage symbolisk lenke til %s"
 
 #: lib/paxerror.c:351
-#, 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: Kunne bare skrive %d av %d bytes'"
-msgstr[1] "%s: Kunne bare skrive %d av %d bytes'"
+msgstr[0] "%s: Skrev bare %lu av %lu byte"
+msgstr[1] "%s: Skrev bare %lu av %lu byte"
 
 #
 #: lib/paxnames.c:140
-#, fuzzy, c-format
+#, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Tar bort ledende «/» fra absolutte linker"
+msgstr "Fjerner ledende «%s» fra medlemsnavn"
 
 #
 #: lib/paxnames.c:141
-#, fuzzy, c-format
+#, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "Tar bort ledende «/» fra absolutte linker"
+msgstr "Fjerner ledende «%s» fra hardlenke-mål"
 
 #: lib/paxnames.c:154
 msgid "Substituting `.' for empty member name"
-msgstr ""
+msgstr "Erstatter tomt medlemsnavn med «.»"
 
 #: lib/paxnames.c:155
 msgid "Substituting `.' for empty hard link target"
-msgstr ""
+msgstr "Erstatter tomt hardlenke-mål med «.»"
 
 #: lib/rtapelib.c:299
 #, c-format
 msgid "exec/tcp: Service not available"
-msgstr "exec/tcp: Tjenesten er ikke tilgjengelig"
+msgstr "exec/tcp: tjenesten er ikke tilgjengelig"
 
 #: lib/rtapelib.c:303
 #, c-format
 msgid "stdin"
-msgstr "stdin"
+msgstr "standard innkanal"
 
 #: lib/rtapelib.c:306
 #, c-format
 msgid "stdout"
-msgstr "stdout"
+msgstr "standard utkanal"
 
 #: lib/rtapelib.c:429
 #, c-format
 msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Klarte ikke å koble til %s. Navnoppslag mislyktes"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Kan ikke eksekvere \"remote shell\""
+msgstr "Klarte ikke å videresende filer til eksternt skall"
 
 #: lib/rtapelib.c:516
 #, c-format
 msgid "Cannot execute remote shell"
-msgstr "Kan ikke eksekvere \"remote shell\""
+msgstr "Klarte ikke å kjøre eksternt skall"
 
 #: rmt/rmt.c:432
 msgid "Seek direction out of range"
-msgstr ""
+msgstr "Søkeretning er utenfor tillatt rekkevidde"
 
 #: rmt/rmt.c:438
-#, fuzzy
 msgid "Invalid seek direction"
-msgstr "Ugyldig modus gitt i flagg"
+msgstr "Ugyldig søkeretning"
 
 #: rmt/rmt.c:446
 msgid "Invalid seek offset"
-msgstr ""
+msgstr "Ugyldig søkeforskyvning"
 
 #: rmt/rmt.c:452
 msgid "Seek offset out of range"
-msgstr ""
+msgstr "Søkeforskyvning er utenfor tillatt rekkevidde"
 
 #: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
-#, fuzzy
 msgid "Invalid byte count"
-msgstr "Ugyldig datoformat «%s»"
+msgstr "Ugyldig antall byte"
 
 #: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
 msgid "Byte count out of range"
-msgstr ""
+msgstr "Opptelling av byte er utenfor tillatt rekkevidde"
 
 #: rmt/rmt.c:558
-#, fuzzy
 msgid "Premature eof"
-msgstr "rmtd: For tidlig filslutt\n"
+msgstr "For tidlig slutt på fil"
 
 #: rmt/rmt.c:601
-#, fuzzy
 msgid "Invalid operation code"
-msgstr "Ugyldig eier gitt i flagg"
+msgstr "Ugyldig handlingskode"
 
 #: rmt/rmt.c:636 rmt/rmt.c:680
 msgid "Operation not supported"
-msgstr ""
+msgstr "Handlinga støttes ikke"
 
 #: rmt/rmt.c:664
-#, fuzzy
 msgid "Unexpected arguments"
-msgstr "Uventet filslutt i ødelagte navn"
+msgstr "Uventede argumenter"
 
 #: rmt/rmt.c:689
 msgid "Manipulate a tape drive, accepting commands from a remote process"
-msgstr ""
+msgstr "Styr en båndstasjon, og godta kommandoer fra eksterne prosesser"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
-msgstr ""
+msgstr "NUMMER"
 
 #: rmt/rmt.c:697
 msgid "set debug level"
-msgstr ""
+msgstr "endre feilsøkningsnivå"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
-msgstr ""
+msgstr "FIL"
 
 #: rmt/rmt.c:699
 msgid "set debug output file name"
-msgstr ""
+msgstr "endre navn på feilsøkingsfil"
 
 #: rmt/rmt.c:715 rmt/rmt.c:783
-#, fuzzy, c-format
+#, c-format
 msgid "cannot open %s"
-msgstr "Kan ikke åpne %s"
+msgstr "klarte ikke å åpne %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
-msgstr ""
+msgstr "for mange argumenter"
 
 #: rmt/rmt.c:822
 msgid "Garbage command"
 msgstr "Ugyldig kommando"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Dette ser ikke ut som et tar-arkiv"
 
 #
-#: src/buffer.c:574
-#, fuzzy
+#: src/buffer.c:577
 msgid "Total bytes read"
-msgstr "Totalt antall bytes skrevet: "
+msgstr "Antall leste byte"
 
 #
-#: src/buffer.c:576
-#, fuzzy
+#: src/buffer.c:579
 msgid "Total bytes written"
-msgstr "Totalt antall bytes skrevet: "
+msgstr "Antall skrevne byte"
 
 #
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Totalt antall bytes skrevet: "
+msgstr "Antall slettede byte"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
-msgstr ""
+msgstr "(datarør)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Nekter å lese arkivinnhold fra terminal (glemte du «-f»?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Nekter å sende arkivinnhold til terminal (glemte du «-f»?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
-msgstr "Ugyldig verdi for record_size"
+msgstr "Ugyldig verdi for «record_size»"
 
 #
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
-msgstr "Arkivnavn er ikke oppgitt"
+msgstr "Arkivnavn mangler"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
-msgstr "Kan ikke verifisere stdin/stdout-arkiv"
+msgstr "Klarte ikke å kontrollere stdin-/stdout-arkiv"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
-msgstr ""
+msgstr "Arkivet er komprimert. Bruk valget %s"
 
 #
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
-msgstr "Kan ikke oppdatere komprimerte arkiver"
+msgstr "Komprimerte arkiver kan ikke oppdateres"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
-msgstr "På begynnelsen av båndet, avslutter nå"
+msgstr "Nådde begynnelsen av båndet. Avslutter nå"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
-msgstr "For mange feil, avslutter"
+msgstr "Det har oppstått for mange feil. Avslutter"
 
-#: src/buffer.c:944
-#, fuzzy, c-format
+#: src/buffer.c:947
+#, 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"
+msgstr[0] "Registerstørrelse = %lu blokk"
+msgstr[1] "Registerstørrelse = %lu blokker"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Ujustert blokk (%lu byte) i arkivet"
+msgstr[1] "Ujustert blokk (%lu byte) i arkivet"
 
-#: src/buffer.c:1042
-#, fuzzy
+#: src/buffer.c:1055
 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"
+msgstr "Klarte ikke å gå tilbake i arkivfila. Den kan være uleselig uten «-i»"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
-msgstr ""
+msgstr "rmtlseek stoppet ikke på en registergrense"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
-msgstr ""
+msgstr "%s: inneholder ugyldig volumnummer"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
-msgstr ""
+msgstr "Alle mulige volumnumre er oppbrukt"
 
-#: src/buffer.c:1175
-#, fuzzy, c-format
+#: src/buffer.c:1198
+#, c-format
 msgid "Prepare volume #%d for %s and hit return: "
-msgstr "\aGjør klar volum nummer %d for %s og trykk return: "
+msgstr "Klargjør volum #%d for %s og trykk Enter: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
-msgstr "EOF der svar fra bruker var forventet"
+msgstr "EOF der svar fra bruker skulle vært"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "ADVARSEL: Arkivet er ufullstendig"
 
-#: src/buffer.c:1200
-#, fuzzy, c-format
+#: src/buffer.c:1223
+#, 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 [navn]   Gi et filnavn for neste (og etterfølgende) volum(er)\n"
-" q          Avbryt tar\n"
-" !          Start et shell\n"
-" ?          Skriv denne listen\n"
+" n navn        Gi nytt filnavn til etterfølgende volum\n"
+" q             Avbryt tar\n"
+" y eller linjeskift  Fortsett handling\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
-msgstr ""
+msgstr " !             Start et underskall\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
-msgstr ""
+msgstr " ?             Skriv ut denne lista\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
-msgstr "Ikke nytt volum; avslutter.\n"
+msgstr "Intet nytt volum. Avslutter.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
-msgstr ""
+msgstr "Filnavn mangler. Prøv på nytt.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
-msgstr ""
+msgstr "Ugyldig inndata. Skriv «?» for for hjelp.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
-msgstr ""
+msgstr "%s kommando mislyktes"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s fortsetter ikke i dette volumet"
 
-#: src/buffer.c:1509
-#, fuzzy, c-format
+#: src/buffer.c:1523
+#, c-format
+msgid "%s is possibly continued on this volume: header contains truncated name"
+msgstr "%s fortsetter kanskje på dette volumet. Hodet inneholder avkortet navn"
+
+#: src/buffer.c:1541
+#, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
-msgstr "%s har feil størrelse (%ld != %ld + %ld)"
+msgstr "%s er feil størrelse (%s != %s + %s)"
 
-#: src/buffer.c:1524
-#, fuzzy, c-format
+#: src/buffer.c:1556
+#, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
-msgstr "Dette volumet kommer ute av rekkefølge"
+msgstr "Dette volumet er ute av sekvens (%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
-#, fuzzy, c-format
+#: src/buffer.c:1634 src/buffer.c:1660
+#, c-format
 msgid "Archive not labeled to match %s"
-msgstr "Arkivet er ikke navngitt for å passe med «%s»"
+msgstr "Arkiv ikke navngitt for å passe med %s"
 
-#: src/buffer.c:1632
-#, fuzzy, c-format
+#: src/buffer.c:1664
+#, c-format
 msgid "Volume %s does not match %s"
-msgstr "Volumet «%s» stemmer ikke overens med «%s»"
+msgstr "Volumet Â«%s» stemmer ikke overens med Â«%s»"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
+"%s: filnavnet er for langt tid å lagres i et GNU-multivolum-hode, og blir "
+"derfor avkortet"
 
-#: src/buffer.c:1917
-#, fuzzy
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
-msgstr "Arkiv %s sluttet ikke ved en blokkgrense"
+msgstr "skriving endte ikke ved en blokkgrense"
 
 #: src/compare.c:96
-#, fuzzy, c-format
+#, 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"
+msgstr[0] "Klarte bare å lese %lu av %lu byte"
+msgstr[1] "Klarte bare å lese %lu av %lu byte"
 
-#: src/compare.c:106 src/compare.c:391
-#, fuzzy
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
-msgstr "Modus er ulik"
+msgstr "Innholdet er ulikt"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
-msgstr "Uventet filslutt i arkivet"
+msgstr "Uventet slutt på fil i arkivet"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
-#, fuzzy
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
-msgstr "Størrelse er ulik"
+msgstr "Filtypen er ulik"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Modus er ulik"
 
@@ -834,151 +861,149 @@ msgstr "Gid er ulik"
 
 #: src/compare.c:212
 msgid "Mod time differs"
-msgstr "Modifiseringstid er ulik"
+msgstr "Endringstiden er ulik"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
-msgstr "Størrelse er ulik"
+msgstr "Størrelsen er ulik"
 
 #: src/compare.c:265
 #, c-format
 msgid "Not linked to %s"
-msgstr "Ikke linket til %s"
+msgstr "Ikke lenket til %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
-msgstr "Symbolsk link er ulik"
+msgstr "Symbolsk lenke er ulik"
 
-#: src/compare.c:318
-#, fuzzy
+#: src/compare.c:322
 msgid "Device number differs"
-msgstr "Enhetsnummer er endret"
+msgstr "Enhetsnummer avviker"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
-msgstr "Verifisering "
+msgstr "Kontroller "
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
-msgstr "Ukjent filtype «%c» for %s, diffet som en vanlig fil"
+msgstr "%s: Ukjent filtype «%c», diffet som vanlig fil"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
-msgstr ""
+msgstr "Arkivet inneholder filnavn med ledende prefikser fjernet."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
-msgstr ""
+msgstr "Arkivet inneholder forvandlede filnavn."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
-msgstr ""
+msgstr "Verifikasjon kan mislykkes i å finne originalfilene."
 
-#: src/compare.c:614
-#, fuzzy, c-format
+#: src/compare.c:618
+#, 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"
+msgstr[0] "KONTROLLFEIL: fant %d ugyldig arkivhode"
+msgstr[1] "KONTROLLFEIL: fant %d ugyldige arkivhoder"
 
-#: src/compare.c:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
-msgstr ""
+msgstr "Enslig null-blokk ved %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
-msgstr ""
+msgstr "%s: inneholder en buffermappetag %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
-msgstr ""
+msgstr "verdien %s er utenfor %s rekkevidde %s..%s. Erstatter %s"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
-msgstr ""
+msgstr "verdien %s er utenfor %s rekkevidde %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
-msgstr ""
+msgstr "Lager negative oktalhoder"
 
-#: src/create.c:601 src/create.c:664
-#, fuzzy, c-format
+#: src/create.c:602 src/create.c:665
+#, c-format
 msgid "%s: file name is too long (max %d); not dumped"
-msgstr "%s: er uendret; ikke lagret"
+msgstr "%s: filnavnet er for langt (maks %d), og fila ble ikke dumpet"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
-msgstr ""
+msgstr "%s: filnavnet er for langt og/eller splittet, og fila ble ikke dumpet"
 
-#: src/create.c:638
-#, fuzzy, c-format
+#: src/create.c:639
+#, c-format
 msgid "%s: link name is too long; not dumped"
-msgstr "%s: er uendret; ikke lagret"
+msgstr "%s: lenkenavnet er for langt, og fila ble ikke dumpet"
 
-#: src/create.c:1084
-#, fuzzy, c-format
+#: src/create.c:1102
+#, 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"
+msgstr[0] "%s: Fila krympet med %s byte. Fyller ut med nuller"
+msgstr[1] "%s: Fila krympet med %s byte. Fyller ut med nuller"
 
-#: src/create.c:1182
-#, fuzzy, c-format
+#: src/create.c:1200
+#, c-format
 msgid "%s: file is on a different filesystem; not dumped"
-msgstr "%s: På et annet filesystem.  Ikke lagret"
+msgstr "%s: fila er på et annet filsystem, og ble derfor ikke dumpet"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
-#, fuzzy
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
-msgstr " (minnet lagret)"
+msgstr "innholdet ble ikke dumpet"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
-msgstr "%s: Ukjent filtype; filen ble ignorert"
+msgstr "%s: Ukjent filtype. Fila ignoreres"
 
-#: src/create.c:1551
-#, fuzzy, c-format
+#: src/create.c:1569
+#, c-format
 msgid "Missing links to %s."
-msgstr " link til %s\n"
+msgstr "Mangler lenker til %s."
 
-#: src/create.c:1712
-#, fuzzy, c-format
+#: src/create.c:1730
+#, c-format
 msgid "%s: file is unchanged; not dumped"
-msgstr "%s: er uendret; ikke lagret"
+msgstr "%s: fila er uendret, og ble ikke dumpet"
 
-#: src/create.c:1721
-#, fuzzy, c-format
+#: src/create.c:1739
+#, c-format
 msgid "%s: file is the archive; not dumped"
-msgstr "%s er arkivet; ikke lagret"
+msgstr "%s: fila er selve arkivet, og ble ikke dumpet"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
-msgstr ""
+msgstr "mappe ble ikke dumpet"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
-msgstr ""
+msgstr "%s: fil endret mens vi leste den"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
-msgstr ""
+msgstr "%s: sokkel ignorert"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
-msgstr ""
+msgstr "%s: dør ignorert"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Hopper til neste startseksjon"
 
@@ -989,408 +1014,566 @@ msgstr "Tar bort ikke-hodedata fra arkivet"
 #: src/extract.c:302
 #, c-format
 msgid "%s: implausibly old time stamp %s"
-msgstr ""
+msgstr "%s: usansynlig gammelt tidsstempel %s"
 
 #: src/extract.c:320
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
-msgstr ""
+msgstr "%s: tidsstempel %s er %s sekunder i fremtiden"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
-msgstr ""
+msgstr "%s: Uventet inkonsekvens ved opprettelse av mappe"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s: hopper over eksisterende fil"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
-msgstr ""
+msgstr "%s: Mappe fikk nytt navn før status kunne hentes"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Ekstraherer sammenhengende filer som vanlige filer"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
-msgstr "Forsøker å ekstrahere symbolske linker som harde linker"
+msgstr "Forsøker å pakke ut symbolske lenker som harde lenker"
 
-#: src/extract.c:1528
-#, fuzzy, c-format
+#: src/extract.c:1573
+#, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
-msgstr "Kan ikke ekstrahere «%s» -- filen fortsetter fra et tidligere volum"
+msgstr "%s: Klarte ikke å pakke ut -- fila fortsettes fra et annet volum"
 
-#: src/extract.c:1535 src/list.c:1167
-#, fuzzy
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
-msgstr "Uventet filslutt i arkivfilen"
+msgstr "Uventet langt navnehode"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "Ukjent filtype «%c» for %s, ekstrahert som en vanlig fil"
+msgstr "%s: Ukjent filtype «%c», pakket ut som vanlig fil"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
-msgstr ""
+msgstr "Gjeldende %s er nyere eller samme alder"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
-msgstr "%s: Kunne ikke lage sikkerhetskopi av denne filen"
+msgstr "%s: Klarte ikke å lage sikkerhetskopi av denne fila"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
-msgstr "Kan ikke endre navn på %s til %s"
+msgstr "Klarte ikke å endre navn på %s til %s"
 
 #: src/incremen.c:494 src/incremen.c:536
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Directory has been renamed from %s"
-msgstr "Filkatalogen %s har endret navn"
+msgstr "%s: Mappa har endret navn fra %s"
 
 #: src/incremen.c:549
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Directory is new"
-msgstr "Filkatalogen %s er ny"
+msgstr "%s: Mappa er ny"
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: På et annet filesystem.  Ikke lagret"
+msgstr "%s: mappa er på et annet filsystem, og ble ikke dumpet"
 
 #: src/incremen.c:587
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Directory has been renamed"
-msgstr "Filkatalogen %s har endret navn"
+msgstr "%s: Mappa har endret navn"
 
 #: src/incremen.c:1003 src/incremen.c:1018
 msgid "Invalid time stamp"
-msgstr ""
+msgstr "ugyldig tidsstempel"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "Ugyldig modus gitt i flagg"
+msgstr "Ugyldig endringstid"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
-msgstr ""
+msgstr "ugyldig endringstid (nanosekunder)"
 
 #: src/incremen.c:1073
 msgid "Invalid device number"
-msgstr ""
+msgstr "ugyldig enhetsnummer"
 
 #: src/incremen.c:1081
 msgid "Invalid inode number"
-msgstr ""
+msgstr "ugyldig inodenummer"
 
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: byte %s: %s %.*s… for lang"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
-#, fuzzy
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
-msgstr "Uventet filslutt i arkivfilen"
+msgstr "Uventet filslutt i øyeblikksbildefil"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: byte %s: %s %s etterfulgt av ugyldig byte 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: byte %s: (gyldig rekkevidde: %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
-msgstr ""
+msgstr "Registeravslutning mangler"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
-msgstr ""
+msgstr "Ugyldig inkrementelt filformat"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
-msgstr ""
+msgstr "Inkrementell formatversjon %<PRIuMAX> støttes ikke"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr ""
+msgstr "Feilformatert dumpmappe: forventet «%c» men fant %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr ""
+msgstr "Feilformatert dumpmappe: «X» duplisert"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr ""
+msgstr "Feilformatert dumpmappe: tomt navn i «R»"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr ""
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
+msgstr "Feilutformet dumpmappe. «T» kommer ikke etter «R»"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr ""
+msgstr "Feilformatert dumpmappe: tomt navn i «T»"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr ""
+msgstr "Feilformatert dumpmappe: forventet «%c» men fant enden av data"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
-msgstr ""
+msgstr "Feilformatert dumpmappe: «X» aldri brukt"
 
-#: src/incremen.c:1658
-#, fuzzy, c-format
+#: src/incremen.c:1662
+#, c-format
 msgid "Cannot create temporary directory using template %s"
-msgstr "Kan ikke gå til filkatalogen %s"
+msgstr "Klarte ikke å opprette midlertidig mappe ved bruk av mal %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
-msgstr ""
+msgstr "%s: Tømmer ikke mappa: ute av stand til stat"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
-msgstr ""
+msgstr "%s: mappa er på en annen enhet: tømmer ikke"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Sletter %s\n"
 
-#: src/incremen.c:1745
-#, fuzzy, c-format
+#: src/incremen.c:1749
+#, c-format
 msgid "%s: Cannot remove"
-msgstr "Kan ikke slette %s"
+msgstr "%s: Klarte ikke å fjerne"
 
-#: src/list.c:217
-#, fuzzy, c-format
+#: src/list.c:219
+#, c-format
 msgid "%s: Omitting"
-msgstr "Utelater %s"
+msgstr "%s: Utelater"
 
-#: src/list.c:235
-#, fuzzy, c-format
+#: src/list.c:237
+#, c-format
 msgid "block %s: ** Block of NULs **\n"
-msgstr "blokk %10ld: ** Blokk med NUL-er **\n"
+msgstr "blokk %s: ** Blokk med NUL-er **\n"
 
-#: src/list.c:261
-#, fuzzy, c-format
+#: src/list.c:263
+#, c-format
 msgid "block %s: ** End of File **\n"
-msgstr "blokk %10ld: ** Slutt på fil **\n"
+msgstr "blokk %s: ** Slutt på fil **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
-#, fuzzy, c-format
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
+#, c-format
 msgid "block %s: "
-msgstr "blokk %10ld: "
+msgstr "blokk %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
-msgstr ""
+msgstr "Blankt hvor numerisk %s-verdi forventes"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
-msgstr ""
+msgstr "Arkivoktalverdi %.*s er ut av %s rekkevidde; forutsatt toerkomplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
-msgstr ""
+msgstr "Arkivets oktalverdi %.*s er utenfor %s rekkevidde"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
-msgstr ""
+msgstr "Arkivet inneholder foreldede base-64-hoder"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
-msgstr ""
+msgstr "Arkiv-signert base-64-streng %s er utenfor %s-rekkevidde"
 
-#: src/list.c:883
-#, fuzzy, c-format
+#: src/list.c:884
+#, c-format
 msgid "Archive base-256 value is out of %s range"
-msgstr "Dette volumet kommer ute av rekkefølge"
+msgstr "Arkivets base-256-verdi er utenfor %s-rekkevidde"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
-msgstr ""
+msgstr "Arkivet inneholder %.*s hvor numerisk %s-verdi forventes"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
-msgstr ""
+msgstr "Arkivverdi %s er utenfor %s-intervallet %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
-msgstr " link til %s\n"
+msgstr " lenke til %s\n"
 
-#: src/list.c:1302
-#, fuzzy, c-format
+#: src/list.c:1281
+#, c-format
 msgid " unknown file type %s\n"
-msgstr " ukjent filtype «%c»\n"
+msgstr " ukjent filtype %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
-msgstr ""
+msgstr "--Lang lenke--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
-msgstr ""
+msgstr "--Langt navn--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volumhode--\n"
 
-#: src/list.c:1336
-#, fuzzy, c-format
+#: src/list.c:1315
+#, c-format
 msgid "--Continued at byte %s--\n"
-msgstr "--Fortsetter ved byte %ld--\n"
+msgstr "--Fortsatte ved byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
-msgstr "Lager filkatalog:"
+msgstr "Lager mappe:"
 
-#: src/misc.c:726
-#, fuzzy, c-format
+#: src/misc.c:733
+#, c-format
 msgid "Renaming %s to %s\n"
-msgstr "Endret navn på %s til %s"
+msgstr "Endrer navn på %s til %s\n"
 
-#: src/misc.c:735 src/misc.c:754
-#, fuzzy, c-format
+#: src/misc.c:742 src/misc.c:761
+#, c-format
 msgid "%s: Cannot rename to %s"
-msgstr "Kan ikke endre navn på %s til %s"
+msgstr "%s: Klarte ikke å endre navn til %s"
 
-#: src/misc.c:759
-#, fuzzy, c-format
+#: src/misc.c:766
+#, c-format
 msgid "Renaming %s back to %s\n"
-msgstr "Endret navn på %s til %s"
+msgstr "Endrer navn %s tilbake til %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
-msgstr ""
+msgstr "%s: Fila ble fjernet før programmet rakk å lese den"
 
 #: src/misc.c:1122
 msgid "child process"
-msgstr ""
+msgstr "underprosess"
 
 #: src/misc.c:1131
 msgid "interprocess channel"
-msgstr ""
+msgstr "mellomprosesskanal"
 
-#: src/names.c:360
-msgid "command line"
-msgstr ""
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Lokalt filvalg:"
 
-#: src/names.c:378
-#, c-format
-msgid "%s: file list requested from %s already read from %s"
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
+"legg oppgitt FIL til arkivet (nyttig hvis navnet starter med en bindestrek)"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
-msgid "cannot split string '%s': %s"
-msgstr "Kan ikke lage en symbolisk link fra %s til %s"
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "MAP"
 
-#: src/names.c:490
-#, c-format
-msgid "%s: file name read contains nul character"
-msgstr ""
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "bytt til mappa MAP"
 
-#: src/names.c:824
-msgid "Pattern matching characters used in file names"
-msgstr ""
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "få navn å pakke ut eller opprette fra FIL"
 
-#: src/names.c:826
-msgid ""
-"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
-"this warning"
-msgstr ""
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T les null-adskilte navn, og slår av «-C»"
 
-#: src/names.c:844 src/names.c:860
-#, c-format
-msgid "%s: Not found in archive"
-msgstr "%s: Finnes ikke i arkivet"
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "deaktiverer effekten til foregående --null-valg"
 
-#: src/names.c:845
-#, fuzzy, c-format
-msgid "%s: Required occurrence not found in archive"
-msgstr "%s: Finnes ikke i arkivet"
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "avsitér inndatafil eller medlemsnavn (standard)"
 
-#: src/names.c:879
-#, fuzzy, c-format
-msgid "Archive label mismatch"
-msgstr "Arkivet er ikke navngitt for å passe med «%s»"
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "ikke avsitér inndatafil eller medlemsnavn"
 
-#: src/names.c:1183
-msgid ""
-"Using -C option inside file list is not allowed with --listed-incremental"
-msgstr ""
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T les filnavn nøyaktig slik de er (ingen valghåndtering)"
 
-#: src/names.c:1189
-msgid "Only one -C option is allowed with --listed-incremental"
-msgstr ""
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr "-T behandle filnavn som begynner med bindestrek som valg (standard)"
 
-#: src/tar.c:87
-#, fuzzy, c-format
-msgid "Options '%s' and '%s' both want standard input"
-msgstr "Flaggene «-%s» and «-%s» vil begge ta standard inn"
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MØNSTER"
 
-#: src/tar.c:164
-#, fuzzy, c-format
-msgid "%s: Invalid archive format"
-msgstr "Ugyldig datoformat «%s»"
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "ekskludere filer, gitt som et MØNSTER"
 
-#: src/tar.c:196
-msgid "GNU features wanted on incompatible archive format"
-msgstr "GNU-funksjoner forsøkt på inkompatibelt arkiv-format"
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "ekskluder mønster listet i FIL"
 
-#: src/tar.c:264
-#, c-format
+#: src/names.c:95
 msgid ""
-"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
 msgstr ""
+"ekskluder innholdet av mapper som inneholder CACHEDIR.TAG, med unntak av "
+"selve tagg-fila"
 
-#: src/tar.c:378
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "ekskluder alt under mapper som inneholder CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "ekskluder mapper som inneholder CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"ekskluder innholdet av mapper som inneholder FIL, med unntak av selve FIL-en"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "lese ekskluder mønstre for hver mappe fra FIL, hvis den finnes"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"lese ekskluder mønstre for hver mappe fra FIL og dens undermapper, hvis den "
+"finnes"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "ekskluder alt under mapper som inneholder FIL"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "ekskluder mapper som inneholder FIL"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "ekskluder versjonskontrollsystemmapper"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "les ekskluder mønstre fra VCS-ignorere filer"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "ekskluder sikkerhetskopi- og låsefiler"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "gå rekursivt ned i mapper (standard)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "unngå automatisk nedstigning i mapper"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr "valg for filnavntreff (påvirker både ekskluder- og inkludermønstre):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "mønstre passer med filnavnstart"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "mønstre passer etter «/» (standard for ekskludering)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "ignorer bokstavstørrelse"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "match forskjell på små og store bokstaver (standard)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "bruk jokertegn (standard for ekskludering)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "ordrett strengsammenligning"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "jokertegn samsvarer «/» (standard for ekskludering)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "jokertegn samsvarer ikke «/»"
+
+#: src/names.c:768
+msgid "command line"
+msgstr "kommandolinje"
+
+#: src/names.c:786
+#, c-format
+msgid "%s: file list requested from %s already read from %s"
+msgstr "%s: filliste forespurt fra %s allerede lest fra %s"
+
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
+msgid "cannot split string '%s': %s"
+msgstr "Klarte ikke å splitte strengen «%s». %s"
+
+#: src/names.c:914
+#, c-format
+msgid "%s: file name read contains nul character"
+msgstr "%s: lest filnavn inneholder nulltegn"
+
+#: src/names.c:1242
+msgid "Pattern matching characters used in file names"
+msgstr "Mønster samsvarer med tegn som brukes i filnavn"
+
+#: src/names.c:1244
+msgid ""
+"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
+"this warning"
+msgstr ""
+"Bruk --wildcards for å aktivere mønstergjenkjenning, eller --no-wildcards "
+"for å undertrykke denne advarselen"
+
+#: src/names.c:1262 src/names.c:1278
+#, c-format
+msgid "%s: Not found in archive"
+msgstr "%s: Finnes ikke i arkivet"
+
+#: src/names.c:1263
+#, c-format
+msgid "%s: Required occurrence not found in archive"
+msgstr "%s: Obligatorisk forekomst finnes ikke i arkivet"
+
+#: src/names.c:1297
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Arkivetikett samsvarer ikke"
+
+#: src/names.c:1601
+msgid ""
+"Using -C option inside file list is not allowed with --listed-incremental"
+msgstr ""
+"Valget «-C» kan ikke brukes i fillista i kombinasjon med «--listed-"
+"incremental»"
+
+#: src/names.c:1607
+msgid "Only one -C option is allowed with --listed-incremental"
+msgstr "Kun ett -C-valg er tillatt med --listed-incremental"
+
+#: src/tar.c:88
+#, c-format
+msgid "Options '%s' and '%s' both want standard input"
+msgstr "Valgene «-%s» og «-%s» vil begge ha standard inn"
+
+#: src/tar.c:165
+#, c-format
+msgid "%s: Invalid archive format"
+msgstr "%s: Ugyldig arkivformat"
+
+#: src/tar.c:197
+msgid "GNU features wanted on incompatible archive format"
+msgstr "GNU-funksjoner forsøkt på inkompatibelt arkiv-format"
+
+#: src/tar.c:265
+#, c-format
+msgid ""
+"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
+msgstr ""
+"Ukjent siteringsstil «%s». Prøv «%s  --quoting-style=help» for å få en liste."
+
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1400,9 +1583,15 @@ 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» lagrer mange filer sammen til et enkelt bånd eller diskarkiv, og "
+"kan gjenopprette individuelle filer fra arkivet.\n"
+"\n"
+"Eksempler:\n"
+"  tar -cf arkiv.tar foo bar  # Lag arkiv.tar fra filene foo og bar.\n"
+"  tar -tvf arkiv.tar         # List alle filer i arkiv.tar detaljert.\n"
+"  tar -xf arkiv.tar          # Pakk ut alle filer fra arkiv.tar.\n"
 
-#: src/tar.c:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1413,1410 +1602,1365 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"\n"
-"Suffikset for sikkerhetskopiering er «~», med mindre det er satt med --"
+"Suffikset for sikkerhetskopiering er «~», med mindre det er satt med --"
 "suffix\n"
 "eller SIMPLE_BACKUP_SUFFIX.  Versjonskontroll kan settes med --backup eller\n"
 "VERSION_CONTROL.  Gyldige verdier er:\n"
 "\n"
+"  none, off       aldri lag sikkerhetskopier\n"
 "  t, numbered     lag nummererte sikkerhetskopier\n"
 "  nil, existing   nummererte, dersom nummererte sikkerhetskopier "
 "eksisterer,\n"
 "                  ellers enkle\n"
 "  never, simple   lag enkle sikkerhetskopier\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
-msgstr ""
+msgstr "Hoveddriftsmodus:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
-msgstr ""
+msgstr "list innholdet i et arkiv"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
-msgstr ""
+msgstr "pakk ut filer fra et arkiv"
 
-#: src/tar.c:425
-#, fuzzy
+#: src/tar.c:401
 msgid "create a new archive"
-msgstr "Uventet filslutt i arkivet"
+msgstr "opprett et nytt arkiv"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
-msgstr ""
+msgstr "finn forskjeller mellom arkiv og filsystemet"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
-msgstr ""
+msgstr "tilføy filer på slutten av et arkiv"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
-msgstr ""
+msgstr "bare tilføy filer som er nyere enn kopiene i arkivet"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
-msgstr ""
+msgstr "tilføy tar-filer i et arkiv"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
-msgstr ""
+msgstr "slett fra arkivet (ikke på magnetbånd!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
-msgstr ""
+msgstr "test arkivvolumnavnet og avslutt"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
-msgstr ""
+msgstr "operasjonsmodifikatorer:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
-msgstr ""
+msgstr "håndtere filer med huller effektivt"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TYPE"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "teknikk for å finne hull"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
-msgstr ""
+msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
+"angi versjonen av filer med hull-format til å bruke (impliserer --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
-msgstr ""
+msgstr "håndter gammel GNU-format inkrementell backup"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
-msgstr ""
+msgstr "håndter nytt GNU-format inkrementell backup"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "dumpe-nivå for opprettet «listed-incremental»-arkiv"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
-msgstr ""
+msgstr "ikke avslutt med ikke-null på uleselig filer"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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 ""
+"bare behandle NUMMER-forekomsten av hver fil i arkivet. Dette alternativet "
+"er bare tillatt i kombinasjon med en delkommando («--delete», «--diff», «--"
+"extract» eller «--list»), og når en liste over filer sendes enten fra "
+"kommandolinja eller via valget «-T». Standardverdi av NUMMER er 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
-msgstr ""
+msgstr "arkivet er søkbart"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
-msgstr ""
+msgstr "arkivet er ikke søkbart"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "ikke kontroller enhetsnummer når du lager inkrementelle arkiver"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
-msgstr ""
+msgstr "kontroller enhetsnummer når du lager inkrementelle arkiver (standard)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
-msgstr ""
+msgstr "Overskrivingskontroll:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
-msgstr ""
+msgstr "forsøk å kontrollere arkivet etter å ha lagret det"
 
-#: src/tar.c:483
-#, fuzzy
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
-msgstr "Tar bort enhetsnavn fra navn i arkivet"
+msgstr "fjern filer etter å ha lagt dem til i arkivet"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr ""
+msgstr "behandle filer som finnes allerede som feil, og ikke erstatt dem"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
+"hopp over filer som allerede finnes allerede ved utpakking, uten advarsel"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
+"ikke erstatt filer som finnes allerede og er nyere enn tilsvarende arkivert "
+"fil"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
-msgstr ""
+msgstr "overskriv filer som finnes allerede ved utpakking"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
-msgstr ""
+msgstr "fjern alle filer som finnes allerede før arkivet pakkes ut"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
-msgstr ""
+msgstr "tøm hierarkier før utpakking av mappe"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
-msgstr ""
+msgstr "behold metadata for mapper som finnes allerede"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
-msgstr ""
+msgstr "overskriv metadata for mapper som finnes allerede (standard)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr ""
-
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr ""
+msgstr "behold symbolske mappelenker ved utpakking"
 
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "lag en undermappe for å unngå utpakking av løse filer"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
-msgstr ""
+msgstr "Velg utdatastrøm:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
-msgstr ""
+msgstr "pakk ut filer til standardutdata"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
-msgstr ""
+msgstr "KOMMANDO"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
-msgstr ""
+msgstr "kanaliser utpakkede filer til et annet program"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
-msgstr ""
+msgstr "ignorer avslutningskoder fra underprosesser"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
+"behandle avslutningskoder fra underprosesser som feil hvis de ikke er null"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
-msgstr ""
+msgstr "Håndtering av filattributter:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
-msgstr ""
+msgstr "tving NAVN som eier av tilføyde filer"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
-msgstr ""
+msgstr "tving NAVN som gruppetilhørighet for tilføyde filer"
+
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "bruk valgt FIL for å tilknytte fileiers UID og navn"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "bruk valgt FIL for å tilknytte fileiers GID og navn"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
-msgstr ""
+msgstr "DATO-ELLER-FIL"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
+msgstr "endre endringstidspunkt for nye filer fra DATO-ELLER-FIL"
+
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:519
 msgid "CHANGES"
-msgstr ""
+msgstr "ENDRINGER"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
-msgstr ""
+msgstr "tving (symbolsk) modusENDRINGER for nye filer"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
-msgstr ""
+msgstr "METODE"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 ""
+"behold tilgangstider for dumpede filer, enten ved å gjenopprette tidene "
+"etter å ha lest dem (METHOD='replace'; standard), eller ved å ikke velge "
+"tider i det hele tatt (METHOD='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
-msgstr ""
+msgstr "ikke pakk ut endringstidspunkt for filer"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
+"prøv å pakke ut filer med samme eierskap som finnes i arkivet (standard for "
+"superbruker)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
-msgstr ""
+msgstr "pakk ut filer som deg selv (standard for vanlige brukere)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
-msgstr ""
+msgstr "bruk alltid tall som bruker- og gruppenavn"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
-msgstr ""
+msgstr "pakk ut informasjon om filrettigheter (standard for superbruker)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
+"bruk brukerens umask ved utpakking av tillatelser fra arkivet (standard for "
+"vanlige brukere)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
-msgstr ""
+msgstr "medlemsargumenter står i samme rekkefølge filer i arkivet"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr ""
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
+"utsett endring av endringstidspunkt og tillatelser til utpakkede mapper til "
+"utpakkinga er ferdig"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
-msgstr ""
+msgstr "avbryt effekten av «--delay-directory-restore»-valget"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "REKKEFØLGE"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "mappe-sorteringsrekkefølge: ingen (standard) eller navn"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr ""
+msgstr "Håndtering av utvidede filattributter:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Slå på utvidet attributtstøtte"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Slå av utvidet attributtstøtte"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MASKE"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "angi inkludermønster for xattr-verdier"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "angi eksludermønster for xattr-verdier"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Slå på støtte for SELinux-kontekst"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Slå av støtte for SELinux-kontekst"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Slå på POSIX ACL-støtte"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Slå av POSIX ACL-støtte"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
-msgstr ""
+msgstr "Enhetsvalg og veksling:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
-msgstr ""
+msgstr "ARKIV"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
-msgstr ""
+msgstr "bruk arkivfil eller enhet ARKIV"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
-msgstr ""
+msgstr "Arkivfil er lokal selv om den har et kolon"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
-msgstr ""
+msgstr "bruk oppgitt rmt-KOMMANDO i stedet for rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
-msgstr ""
+msgstr "bruk KOMMANDO i stedet for rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
-msgstr ""
+msgstr "angi enhet og tetthet"
 
-#: src/tar.c:627
-#, fuzzy
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
-msgstr "Kan ikke verifisere arkiv som går over flere volum"
+msgstr "opprette/list/pakk ut multivolumarkiv"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
-msgstr ""
+msgstr "bytt bånd etter å ha skrevet TALL x 1024 byte"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
-msgstr ""
+msgstr "kjør skript ved slutten av hvert bånd (impliserer -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
-msgstr ""
+msgstr "bruk/oppdater volumnummeret i FIL"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
-msgstr ""
+msgstr "Blokkhåndtering:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
-msgstr ""
+msgstr "BLOKKER"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
-msgstr ""
+msgstr "BLOKKER x 512 byte pr register"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
-msgstr ""
+msgstr "NUMMER byte per register, multiplum av 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr ""
+msgstr "ignorere nullede blokker i arkiv (betyr filslutt)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
-msgstr ""
+msgstr "Omblokker ved lesning (for 4.2BSD-rør)"
 
-#: src/tar.c:653
-#, fuzzy
+#: src/tar.c:635
 msgid "Archive format selection:"
-msgstr "Arkivér til stdin"
+msgstr "Arkivformatvalg:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
-msgstr ""
+msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
-msgstr ""
+msgstr "opprett arkiv av det angitte format"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
-msgstr ""
+msgstr "FORMAT er ett av følgende:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
-msgstr ""
+msgstr "gammelt V7 tar-format"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
-msgstr ""
+msgstr "GNU-format i henhold til tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
-msgstr ""
+msgstr "GNU tar 1.13.x-format"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
-msgstr ""
+msgstr "POSIX 1003.1-1988 (ustar) format"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
-msgstr ""
+msgstr "POSIX 1003.1-2001 (pax) format"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
-msgstr ""
+msgstr "samme som pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
-msgstr ""
+msgstr "samme som --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
-msgstr ""
+msgstr "samme som --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr ""
+msgstr "Nøkkelord[[:]=verdi][,nøkkelord[[:]=verdi]]…"
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
-msgstr ""
+msgstr "angi pax-søkeord"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
-msgstr ""
+msgstr "TEKST"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
+"opprette et arkiv med volum navn TEKST; ved liste/utpakkingstid, bruke TEKST "
+"som et søkemønster («globbing») for volumnavn"
 
-#: src/tar.c:684
-#, fuzzy
+#: src/tar.c:666
 msgid "Compression options:"
-msgstr "Konflikt i kompresjonsflagg"
+msgstr "Kompresjonsvalg"
 
-#: src/tar.c:686
-#, fuzzy
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
-msgstr "Kan ikke skrive til komprimeringsprogrammet"
+msgstr "bruk arkivsuffikset til å bestemme komprimeringsprogrammet"
 
-#: src/tar.c:688
-#, fuzzy
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
-msgstr "Kan ikke skrive til komprimeringsprogrammet"
+msgstr "ikke bruk arkivsuffikset til å bestemme komprimeringsprogrammet"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
-msgstr ""
+msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
-msgstr ""
+msgstr "filtrér gjennom PROGRAM (må akseptere -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
-msgstr ""
-
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#: src/tar.c:712
-#, fuzzy
-msgid "change to directory DIR"
-msgstr "Kan ikke gå til filkatalogen %s"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr ""
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
+msgstr "Lokalt filvalg:"
 
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr ""
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr ""
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr ""
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr ""
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr ""
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
-msgstr ""
-
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr ""
+msgstr "bli i lokale filsystem når du oppretter arkiv"
 
 #
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
-msgstr "Tar bort ledende «/» fra absolutte linker"
+msgstr "ikke fjern ledende «/» fra filnavn"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
-msgstr ""
+msgstr "Følg symbolske lenker; arkiver og dump filene de peker til"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
-msgstr ""
+msgstr "følg harde lenker; arkiver og dump filene de refererer til"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
-msgstr ""
+msgstr "MEDLEMS-NAVN"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr ""
+msgstr "begynn med medlem MEDLEMSNAVN ved lesing av arkivet"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
-msgstr ""
+msgstr "bare lagre filer som er nyere enn DATO-ELLER-FIL"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
-msgstr ""
+msgstr "DATO"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
-msgstr ""
+msgstr "sammenlign dato og tid kun ved dataendringer  "
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
-msgstr ""
+msgstr "KONTROLL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
-msgstr ""
+msgstr "sikkerhetskopi før sletting, velg versjonskontroll"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
-msgstr ""
+msgstr "STRENG"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
+"sikkerhetskopi før sletting, overstyr vanlig suffiks («~» med mindre "
+"overstyrt av miljøvariabelen SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
-msgstr ""
+msgstr "Filnavnforvandlinger:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
-msgstr ""
+msgstr "fjern NUMMER antall innledende komponenter fra filnavn ved utpakking"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
-msgstr ""
+msgstr "UTTRYKK"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
-msgstr ""
-
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
+msgstr "bruk sed erstatnings-UTTRYKK for å forvandle filnavn"
 
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr ""
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
-msgstr ""
+msgstr "Informativ utdata:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
-msgstr ""
+msgstr "vis navn på alle filer som behandles"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
-msgstr ""
+msgstr "NØKKELORD"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
-msgstr ""
+msgstr "advarselskontroll"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
-msgstr ""
+msgstr "vis framdriftsmeldinger hver ANTALL register (standard 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
-msgstr ""
+msgstr "HANDLING"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "utfør HANDLING på hvert sjekkpunkt"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
-msgstr ""
+msgstr "skriv ut en melding hvis ikke alle lenker ble dumpet"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
-msgstr ""
+msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 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 ""
+"skriv totalt antall byte etter behandlingen av arkivet. Med et argument - "
+"skriv totalt antall byte når dette signalet er levert. Tillatte signaler er: "
+"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 og SIGUSR2; navnene uten SIG-prefikset er "
+"også akseptert"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
-msgstr ""
+msgstr "vis endringstidspunkt som UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
-msgstr ""
+msgstr "vis full oppløsning på filtider"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
-msgstr ""
+msgstr "send detaljert utdata til FIL"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
-msgstr ""
+msgstr "vis blokknummer i arkiv med hver melding"
 
-#: src/tar.c:842
-#, fuzzy
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
-msgstr "Kan ikke lese bekreftelse fra brukeren"
+msgstr "be om bekreftelse for hver handling"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
-msgstr ""
+msgstr "vis tar-standarder"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "vis gyldige verdiområder for øyeblikksbildefilfelt"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
+"ved listing eller utpakking, vis hver mappe som ikke samsvarer med "
+"søkekriteriene"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
-msgstr ""
+msgstr "Vis fil eller arkivnavn etter forvandling"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
-msgstr ""
+msgstr "STIL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
-msgstr ""
+msgstr "angi siteringsstil; se nedenfor for gyldige STIL-verdier"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
-msgstr ""
+msgstr "i tillegg sitér fra STRENG"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
-msgstr ""
+msgstr "deaktiver sitering av tegn fra STRENG"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
-msgstr ""
+msgstr "Kompatibilitetsvalg:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
+"ved opprettelse, samme som --old-archive. ved utpakking, samme som  --no-"
+"same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
-msgstr ""
+msgstr "Andre valg:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
-msgstr ""
+msgstr "deaktiver bruk av noen potensielt skadelige valg"
 
-#: src/tar.c:1010
-#, fuzzy
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "«%s» kan ikke brukes sammen med «%s»"
+
+#: src/tar.c:934
 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"
+msgstr ""
+"Du kan ikke angi flere enn ett av valgene «-Acdtrux», «--delete» og  «--test-"
+"label» samtidig"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konflikt i kompresjonsflagg"
 
-#: src/tar.c:1079
-#, fuzzy, c-format
+#: src/tar.c:1005
+#, c-format
 msgid "Unknown signal name: %s"
-msgstr "Ukjent mønster «%s»"
+msgstr "Ukjent signalnavn: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
-msgstr ""
+msgstr "Fant ikke dato-eksempelfil"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
-msgstr ""
+msgstr "Erstatter %s for ukjent datoformat %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr ""
+msgstr "Valg %s: Behandler dato «%s» som «%s»"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
-msgstr ""
+msgstr "filtrer arkivet gjennom  %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
-msgstr ""
+msgstr "Gyldige argumenter for valget --quoting-style er:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
+"\n"
+"*Denne* tar standardiserer til:\n"
 
-#: src/tar.c:1330
-#, fuzzy
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
-msgstr "Ugyldig eier gitt i flagg"
+msgstr "Ugyldig eier eller gruppe-ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
-msgstr ""
+msgstr "Ugyldig blokkeringsfaktor"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
-msgstr ""
+msgstr "Ugyldig tapelengde"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
-msgstr ""
+msgstr "Ugyldig inkrementell nivåverdi"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
-msgstr "Mer enn én grense-dato"
+msgstr "Mer enn én grense-dato"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
-msgstr ""
+msgstr "Ugyldig version for filer med huller"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr ""
+msgstr "--atime-preserve=«system» støttes ikke på denne platformen"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
-msgstr ""
+msgstr "--checkpoint-verdien er ikke et heltall"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Ugyldig modus gitt i flagg"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
-msgstr ""
+msgstr "Ugyldig nummer"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
-#, fuzzy
+#: src/tar.c:1864
 msgid "Invalid record size"
-msgstr "Ugyldig verdi for record_size"
+msgstr "Ugyldig registerstørrelse"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
-msgstr "Blokkstørrelse må være delbart på %d."
+msgstr "Blokkstørrelse må være delbart på %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
-msgstr ""
+msgstr " Ugyldig antall elementer"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
-msgstr ""
+msgstr "Kun ett «--to-command»-alternativ tillatt"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
-msgstr ""
+msgstr "Feilformatert tetthetsargument: %s"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
-msgstr "Ukjent mønster «%s»"
+msgstr "Ukjent tetthet Â«%c»"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, 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"
+msgstr "Valgene «-[0-7][lmh]» støttes ikke av *denne* implementasjonen av tar"
+
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: plassering av feilen"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "feil under tolkning av %s"
 
-#: src/tar.c:2235
+#: src/tar.c:2092
 msgid "[FILE]..."
-msgstr ""
+msgstr "[FIL] …"
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Kan ikke skrive til %s"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "%s inneholder argumenter som ikke er valg"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "klarte ikke å dele opp «TAR_OPTIONS»: %s"
 
-#: src/tar.c:2389
-#, fuzzy, c-format
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
-msgstr "Gammelt flagg «%c» behøver et argument."
+msgstr "Gammelt valg «%c» behøver et argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
-msgstr ""
+msgstr "--occurrence er meningsløs uten en filliste"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
-msgstr "Ved flere arkivfiler behøves «-M»-flagget"
+msgstr "Ved flere arkivfiler behøves «-M»-valget"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
-msgstr ""
+msgstr "--lever er meningsløs uten --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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] ""
+msgstr[0] "%s: Volumetikett er for lang (grensen er %lu byte)"
+msgstr[1] "%s: Volumetikett er for lang (grensen er %lu byte)"
 
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
-msgstr "Kan ikke verifisere arkiv som går over flere volum"
+msgstr "Arkiv som går over flere volum kan ikke kontrolleres"
 
 #
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
-msgstr "Kan ikke verifisere komprimerte arkiver"
+msgstr "Komprimerte arkiver kan ikke kontrolleres"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
-msgstr "Kan ikke bruke komprimerte arkiv som går over flere volum"
+msgstr "Komprimerte arkiver som går over flere volum kan ikke brukes"
 
 #
-#: src/tar.c:2543
-#, fuzzy
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
-msgstr "Kan ikke oppdatere komprimerte arkiver"
+msgstr "Klarte ikke å sette sammen komprimerte arkiver"
 
-#: src/tar.c:2553
-msgid "--pax-option can be used only on POSIX archives"
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2479
+msgid "--pax-option can be used only on POSIX archives"
+msgstr "valget «--pax-option kan bare brukes på POSIX-arkiver"
+
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr ""
+msgstr "valget «--acls» kan bare brukes på POSIX-arkiver"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr ""
+msgstr "valget «--selinux» kan bare brukes på POSIX-arkiver"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr ""
+msgstr "valget «--xattrs» kan bare brukes på POSIX-arkiver"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Klarte ikke å finne navn på toppnivå-mappe. Velg det manuelt med --one-top-"
+"level=MAP"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
-msgstr ""
+msgstr "Volum kan ikke være kortere enn registerstørrelse"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
-msgstr "For feig til å lage et tomt arkiv"
+msgstr "Programmet nekter på feigt vis å lage et tomt arkiv"
 
-#: src/tar.c:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
-msgstr "Flaggene «-Aru» er inkompatible med «-f -»"
+msgstr "Valgene Â«-Aru» kan ikke brukes i kombinasjon med Â«-f -»"
 
-#: src/tar.c:2766
-#, fuzzy
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Du må angi ett av «-Acdtrux»-flaggene"
+msgstr "Du må velge ett av «-Acdtrux», «--delete» eller «--test-label»"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
-msgstr ""
+msgstr "Avslutter med feilkode på grunn av tidligere feil"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "mappesorteringsrekkefølge: none (standard), name eller inode"
 
 #: src/update.c:87
-#, fuzzy, c-format
+#, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
-msgstr[0] "%s: Filen krympet med %d bytes, (øh!)"
-msgstr[1] "%s: Filen krympet med %d bytes, (øh!)"
+msgstr[0] "%s: Fila krympet med %s byte"
+msgstr[1] "%s: Fila krympet med %s byte"
 
 #: src/xheader.c:165
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
-msgstr ""
+msgstr "Nøkkelordet %s er ukjent eller støttes ikke"
 
 #: src/xheader.c:174
 msgid "Time stamp is out of allowed range"
-msgstr ""
+msgstr "Tidsstempelet er utenfor tillatt rekkevidde"
 
 #: src/xheader.c:205
 #, c-format
 msgid "Pattern %s cannot be used"
-msgstr ""
+msgstr "Mønsteret %s kan ikke brukes"
 
 #: src/xheader.c:219
 #, c-format
 msgid "Keyword %s cannot be overridden"
-msgstr ""
+msgstr "Nøkkelordet %s kan ikke overstyres"
 
 #: src/xheader.c:668
 msgid "Malformed extended header: missing length"
-msgstr ""
+msgstr "Feilformatert utvidet hode: lengde mangler"
 
 #: src/xheader.c:677
 #, c-format
 msgid "Extended header length %*s is out of range"
-msgstr ""
+msgstr "Utvidet header lengde %*s er utenfor rekkevidde"
 
 #: src/xheader.c:689
 msgid "Malformed extended header: missing blank after length"
-msgstr ""
+msgstr "Utvidet hode er feilformatert: blanktegn mangler etter lengde"
 
 #: src/xheader.c:697
 msgid "Malformed extended header: missing equal sign"
-msgstr ""
+msgstr "Utvidet hode er feilformatert: likhetstegn mangler"
 
 #: src/xheader.c:703
 msgid "Malformed extended header: missing newline"
-msgstr ""
+msgstr "Utvidet hode er feilformatert: linjeskift mangler"
 
 #: src/xheader.c:741
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr ""
+msgstr "Ignorerer ukjent nøkkelord for utvidet hode («%s»)"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
+"Dette paret med nøkkelord og verdi er for langt (nøkkelord=%s, lengde=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
-msgstr ""
+msgstr "Utvidet hode %s=%s er utenfor rekkevidde %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr ""
+msgstr "Feilformatert utvidet hode: ugyldig %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
-msgstr ""
+msgstr "Feilformatert utvidet hode: overflødig %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
-msgstr ""
+msgstr "Feilformatert utvidet hode: ugyldig %s: skilletegnet %c er uventet"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
-msgstr ""
+msgstr "Feilformatert utvidet hode: ugyldig %s: merkelig antall verdier"
 
 #: src/checkpoint.c:114
 #, c-format
 msgid "%s: not a valid timeout"
-msgstr ""
+msgstr "%s er et ugyldig tidsavbrudd"
 
 #: src/checkpoint.c:121
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: ukjent sjekkpunkt handling"
 
 #: src/checkpoint.c:202
 msgid "write"
-msgstr ""
+msgstr "skrive"
 
 #: src/checkpoint.c:202
 msgid "read"
-msgstr ""
+msgstr "lese"
 
 #. 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:218
-#, fuzzy, c-format
+#, c-format
 msgid "Write checkpoint %u"
-msgstr "Skriver kontrollpunkt %d"
+msgstr "Skriver 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:224
-#, fuzzy, c-format
+#, c-format
 msgid "Read checkpoint %u"
-msgstr "Leser kontrollpunkt %d"
+msgstr "Leser kontrollpunkt %u"
 
-#: tests/genfile.c:111
-#, fuzzy
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
-msgstr "Genrerer datafiler for GNU tar testpakke.\n"
+msgstr ""
+"genfile manipulerer datafiler for GNU paxutils-testpakke.\n"
+"VALG er:\n"
 
-#: tests/genfile.c:127
-#, fuzzy
+#: tests/genfile.c:131
 msgid "File creation options:"
-msgstr "Konflikt i kompresjonsflagg"
+msgstr "Filopprettingsvalg"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
-msgstr ""
+msgstr "størrelse"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
-msgstr ""
+msgstr "Opprett fil av angitt STØRRELSE"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
-msgstr ""
+msgstr "Skriv til fil NAVN i stedet for standardutdata"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
-msgstr ""
+msgstr "Les filnavn fra FIL"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
-msgstr ""
+msgstr "-T leser null-terminerte navn"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
+"Fyll fila med valgt MØNSTER. MØNSTER er enten «default» (standard) eller "
+"«zeros» (nuller)"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
-msgstr ""
+msgstr "Størrelse på en blokk for filer med huller"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
-msgstr ""
+msgstr "Lag fil med huller. Resten av kommandolinja gir filkartet"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
-msgstr ""
+msgstr "FORSKYVNING"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
+msgstr "Søke til den angitte forskyvning før skriving av data"
+
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:156
 msgid "File statistics options:"
-msgstr ""
+msgstr "Filstatistiske valg:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
+"Skriv ut innholdet i «struct stat» for hvert angitt fil. Standardformatet er:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
-msgstr ""
+msgstr "Synkronkjøringsvalg:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
-msgstr ""
+msgstr "VALG"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
+"Kjør ARG. Nyttig i kombinasjon med «--checkpoint og enten «--cut», «--"
+"append», «--touch» eller «--unlink»"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
-msgstr ""
+msgstr "Utfør angitt handling (se nedenfor) ved oppnådd sjekkpunktANTALL"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
-msgstr ""
+msgstr "Angi dato for neste --touch-valg"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
-msgstr ""
+msgstr "Vis utførte sjekkpunkter og avsluttstatusen til KOMMANDO"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
+"Synkronkjøringshandlinger. Disse utføres når sjekkpunktnummer angitt av  --"
+"checkpoint-valget er nådd."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
+"Forkort FIL til størrelsen valgt ved forrige «--length» (eller 0 hvis det "
+"ikke er valgt)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
+"Legg valgt STØRRELSE (i byte) til en FIL. STØRRELSE bestemmes av forrige «--"
+"length»."
 
-#: tests/genfile.c:188
-#, fuzzy
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
-msgstr "%s: Kunne ikke endre aksess- og modifiseringstider"
+msgstr "Oppdater tilgangs- og endringstidspunkt for FIL"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
-msgstr ""
+msgstr "Kjør valgt KOMMANDO"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
-msgstr ""
+msgstr "Fjern FIL-lenke"
 
-#: tests/genfile.c:244
-#, fuzzy, c-format
+#: tests/genfile.c:249
+#, c-format
 msgid "Invalid size: %s"
-msgstr "Ugyldig datoformat «%s»"
+msgstr "%s er en ugyldig størrelse"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
-msgstr ""
+msgstr "%s er utenfor tillatt rekkevidde"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
-msgstr ""
+msgstr "Negativ størrelse: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
-msgstr ""
+msgstr "stat(%s) mislyktes"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
-msgstr ""
+msgstr "forespurt fillengde: %lu . Virkelig: %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
-msgstr ""
+msgstr "opprettet fil har ikke huller"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
-msgstr ""
+msgstr "feil ved analyse av tall ved «%s»"
 
-#: tests/genfile.c:367
-#, fuzzy, c-format
+#: tests/genfile.c:376
+#, c-format
 msgid "Unknown date format"
-msgstr "Unkjent systemfeil"
+msgstr "Ukjent datoformat"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
-msgstr ""
+msgstr "[ARG…]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
-#, fuzzy, c-format
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
+#, c-format
 msgid "cannot open `%s'"
-msgstr "Kan ikke åpne %s"
+msgstr "klarte ikke å åpne «%s»"
 
-#: tests/genfile.c:434
-#, fuzzy
+#: tests/genfile.c:443
 msgid "cannot seek"
-msgstr "Kan ikke eksekvere %s"
+msgstr "klarte ikke å søke"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
-msgstr ""
+msgstr "filnavn inneholder null-tegn"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
+"filer med huller kan ikke sendes til standardutdata. Bruk valget «--file»"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr ""
+msgstr "ugyldig maske (ved «%s»)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
-#, fuzzy, c-format
+#: tests/genfile.c:670 tests/genfile.c:703
+#, c-format
 msgid "Unknown field `%s'"
-msgstr "Ukjent mønster «%s»"
+msgstr "Feltet «%s» er ukjent"
 
-#: tests/genfile.c:662
-#, fuzzy, c-format
+#: tests/genfile.c:730
+#, c-format
 msgid "cannot set time on `%s'"
-msgstr "Kan ikke gjøre «stat» på %s"
+msgstr "Klarte ikke å endre tid på «%s»"
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "Kan ikke utføre «stat» på filen %s"
+msgstr "Klarte ikke å avkorte «%s»"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
-msgstr ""
+msgstr "kommando mislyktes: %s"
 
-#: tests/genfile.c:706
-#, fuzzy, c-format
+#: tests/genfile.c:774
+#, c-format
 msgid "cannot unlink `%s'"
-msgstr "Kan ikke lese link %s"
+msgstr "Klarte ikke å fjerne lenke til «%s»"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
-msgstr ""
+msgstr "Kommandoen avsluttet uten problemer\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
-msgstr ""
+msgstr "Kommandoen mislyktes med status %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
-msgstr ""
+msgstr "Kommandoen avsluttet med signal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
-msgstr ""
+msgstr "Kommandoen stoppet med signal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
-msgstr ""
+msgstr "Kommandoen dumpet kjernen\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
-msgstr ""
+msgstr "Kommandoen avsluttet\n"
 
-#: tests/genfile.c:879
-#, fuzzy, c-format
+#: tests/genfile.c:947
+#, c-format
 msgid "--stat requires file names"
-msgstr "--Ødelagte filnavn--\n"
+msgstr "valget «--stat» krever filnavn"
+
+#~ msgid "same as both -p and -s"
+#~ msgstr "samme som både «-p» og «-s»"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Valget --preserve er foreldet, bruk --preserve-permissions --preserve-"
+#~ "order i stedet"
+
+#~ msgid "--occurrence cannot be used with %s"
+#~ msgstr "--occurrence kan ikke brukes sammen med %s"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Kan ikke kombinere  --listed-incremental med --never"
+
+#~ msgid "--verify cannot be used with %s"
+#~ msgstr "--verify kan ikke brukes sammen med %s"
+
+#~ msgid "--preserve-order is not compatible with --listed-incremental"
+#~ msgstr "--preserve-order er ikke kompatibel med --listed-incremental"
 
 #~ msgid "Cannot close file #%d"
 #~ msgstr "Kan ikke lukke fil #%d"
@@ -2828,639 +2972,10 @@ msgstr "--
 #~ msgstr "Kan ikke duplisere %s"
 
 #~ msgid "Cannot use compressed or remote archives"
-#~ msgstr "Kan ikke bruke komprimerte arkiver eller arkiver på en annen maskin"
+#~ msgstr "Kan ikke bruke komprimerte arkiver eller arkiver på en annen maskin"
 
 #~ msgid "Cannot open pipe"
 #~ msgstr "Kan ikke lage en pipe"
 
 #~ msgid "Cannot fork"
-#~ msgstr "Kan ikke lage ny prosess med «fork»"
-
-#
-#~ msgid "tar (child)"
-#~ msgstr "tar (barn)"
-
-#~ msgid "(child) Pipe to stdin"
-#~ msgstr "(barn) Pipe til stdin"
-
-#~ msgid "Cannot open archive %s"
-#~ msgstr "Kan ikke åpne arkivet %s"
-
-#~ msgid "Archive to stdout"
-#~ msgstr "Arkivér til stdout"
-
-#~ msgid "Child cannot fork"
-#~ msgstr "Barnet kan ikke gjøre «fork»"
-
-#~ msgid "((child)) Pipe to stdout"
-#~ msgstr "((barn)) Pipe til stdout"
-
-#~ msgid "tar (grandchild)"
-#~ msgstr "tar (barnebarn)"
-
-#~ msgid "(grandchild) Pipe to stdin"
-#~ msgstr "(barnebarn) Pipe til stdin"
-
-#~ msgid "Cannot read from compression program"
-#~ msgstr "Kan ikke lese fra komprimeringsprogrammet"
-
-#~ msgid "(child) Pipe to stdout"
-#~ msgstr "(barn) Pipe til stdout"
-
-#~ msgid "((child)) Pipe to stdin"
-#~ msgstr "((barn)) Pipe til stdin"
-
-#~ msgid "(grandchild) Pipe to stdout"
-#~ msgstr "(barnebarn) Pipe til stdout"
-
-#~ msgid "Write to compression program short %d bytes"
-#~ msgstr "Skrev %d bytes for lite til komprimeringsprogrammet"
-
-#~ msgid "Could not allocate memory for blocking factor %d"
-#~ msgstr "Kunne ikke allokere minne for blokk-faktor %d"
-
-#~ msgid "Only wrote %u of %u bytes to %s"
-#~ msgstr "Skrev bare %u av %u bytes til %s"
-
-#~ msgid "Read error on %s"
-#~ msgstr "Lesefeil på %s"
-
-#~ msgid "Reading %s\n"
-#~ msgstr "Leser %s\n"
-
-#~ msgid "WARNING: No volume header"
-#~ msgstr "ADVARSEL: Manglende volumhode"
-
-#~ msgid "Only read %d bytes from archive %s"
-#~ msgstr "Leste bare %d bytes fra arkivet %s"
-
-#~ msgid "WARNING: Cannot close %s (%d, %d)"
-#~ msgstr "ADVARSEL: Kan ikke lukke %s (%d, %d)"
-
-#~ msgid "Child died with signal %d%s"
-#~ msgstr "Barnet døde med signal %d%s"
-
-#~ msgid "Child returned status %d"
-#~ msgstr "Barnet avsluttet med status %d"
-
-#~ msgid "Cannot fork!"
-#~ msgstr "Kan ikke lage ny prosess med «fork»!"
-
-#~ msgid "Cannot exec a shell %s"
-#~ msgstr "Kan ikke eksekvere et shell %s"
-
-#
-#~ msgid "Removing leading `/' from absolute path names in the archive"
-#~ msgstr "Tar bort ledende «/» fra absolutte filnavn i arkivet"
-
-#~ msgid "Wrote %ld of %ld bytes to file %s"
-#~ msgstr "Skrev %ld av %ld bytes til fil %s"
-
-#~ msgid "Read error at byte %ld, reading %d bytes, in file %s"
-#~ msgstr "Lesefeil ved byte %ld ved lesing av %d bytes fra fil %s"
-
-#~ msgid "Amount actually written is (I hope) %d.\n"
-#~ msgstr "Faktisk skrevet mengde er %d (håper jeg).\n"
-
-#~ msgid "Cannot add file %s"
-#~ msgstr "Kan ikke legge til fil %s"
-
-#~ msgid "Cannot add directory %s"
-#~ msgstr "Kan ikke legge til filkatalogen %s"
-
-#~ msgid "Cannot open directory %s"
-#~ msgstr "Kan ikke åpne filkatalogen %s"
-
-#~ msgid "File name %s%s too long"
-#~ msgstr "Filnavnet %s%s er for langt"
-
-#~ msgid "Could not allocate memory for diff buffer of %d bytes"
-#~ msgstr "Kunne ikke allokere minne for diff-buffer på %d bytes"
-
-#~ msgid "Cannot read %s"
-#~ msgstr "Kan ikke lese %s"
-
-#~ msgid "Data differs"
-#~ msgstr "Data er ulike"
-
-#~ msgid "File does not exist"
-#~ msgstr "Filen eksisterer ikke"
-
-#~ msgid "Not a regular file"
-#~ msgstr "Ikke en vanlig fil"
-
-#~ msgid "Error while closing %s"
-#~ msgstr "Feil ved lukking av %s"
-
-#~ msgid "Does not exist"
-#~ msgstr "Eksisterer ikke"
-
-#~ msgid "No such file or directory"
-#~ msgstr "Fil eller filkatalog finnes ikke"
-
-#~ msgid "Mode or device-type changed"
-#~ msgstr "Modus eller enhetstype er endret"
-
-#~ msgid "No longer a directory"
-#~ msgstr "Ikke lenger en filkatalog"
-
-#~ msgid "Cannot open file %s"
-#~ msgstr "Kan ikke åpne filen %s"
-
-#~ msgid "Cannot seek to %ld in file %s"
-#~ msgstr "Kan ikke søke til posisjon %ld i filen %s"
-
-#~ msgid "Could not rewind archive file for verify"
-#~ msgstr "Kunne ikke gå til begynnelsen av arkivfilen for verifisering"
-
-#~ msgid "Could not re-position archive file"
-#~ msgstr "Kunne ikke endre posisjon i arkivfilen"
-
-#~ msgid "%s: Cannot lchown to uid %d gid %d"
-#~ msgstr "%s: Kan ikke endre eier til uid %d gid %d med lchown()"
-
-#~ msgid "%s: Cannot chown to uid %d gid %d"
-#~ msgstr "%s: Kan ikke endre eier til uid %d gid %d med chown()"
-
-#~ msgid "%s: Could not write to file"
-#~ msgstr "%s: Kunne ikke skrive til filen"
-
-#~ msgid "%s: Could not create file"
-#~ msgstr "%s: Kunne ikke lage fil"
-
-#~ msgid "%d at %d\n"
-#~ msgstr "%d ved %d\n"
-
-#~ msgid "%s: Error while closing"
-#~ msgstr "%s: Feil under lukking"
-
-#~ msgid "%s: Could not link to `%s'"
-#~ msgstr "%s: Kunne ikke lage link til «%s»"
-
-#~ msgid "%s: Could not make node"
-#~ msgstr "%s: Kunne ikke lage node"
-
-#~ msgid "%s: Could not make fifo"
-#~ msgstr "%s: Kunne ikke lage fifo"
-
-#~ msgid "%s: Could not create directory"
-#~ msgstr "%s: Kunne ikke lage filkatalog"
-
-#~ msgid "Added write and execute permission to directory %s"
-#~ msgstr "Satte skrive- og eksekveringsrettigheter for filkatalog %s"
-
-#~ msgid "Visible long name error"
-#~ msgstr "Feil på et langt navn"
-
-#~ msgid "Could not get current directory: %s"
-#~ msgstr "Kunne ikke finne navnet på aktiv filkatalog: %s"
-
-#~ msgid "File name %s/%s too long"
-#~ msgstr "Filnavnet %s/%s er for langt"
-
-#~ msgid "Cannot chdir to %s"
-#~ msgstr "Kan ikke gå til filkatalogen %s"
-
-#~ msgid "Error while deleting %s"
-#~ msgstr "Feil ved sletting av %s"
-
-#~ msgid "Hmm, this doesn't look like a tar archive"
-#~ msgstr "Hmm, dette ser ikke ut som et tar-arkiv"
-
-#~ msgid "Skipping to next file header"
-#~ msgstr "Hopper til neste filhode"
-
-#~ msgid "EOF in archive file"
-#~ msgstr "Filslutt i arkivfilen"
-
-#~ msgid "Only wrote %ld of %ld bytes to file %s"
-#~ msgstr "Skrev bare %ld av %ld bytes til filen %s"
-
-#~ msgid "Visible longname error"
-#~ msgstr "Feil på et langt navn"
-
-#~ msgid "Symlinked %s to %s"
-#~ msgstr "%s symbolsk linket til %s"
-
-#~ msgid "Unknown demangling command %s"
-#~ msgstr "Ukjent kommando %s ved rekonstruering av navn"
-
-#~ msgid "Missing file name after -C"
-#~ msgstr "Mangler filnavn etter -C"
-
-#~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd: Kan ikke allokere buffer\n"
-
-#~ msgid "Cannot allocate buffer space"
-#~ msgstr "Kan ikke allokere plass til buffer"
-
-#~ msgid "Premature end of file"
-#~ msgstr "For tidlig filslutt"
-
-#~ msgid "rmtd: Garbage command %c\n"
-#~ msgstr "rmtd: Ugyldig kommando %c\n"
-
-#~ msgid ""
-#~ "GNU `tar' saves many files together into a single tape or disk archive, "
-#~ "and\n"
-#~ "can restore individual files from the archive.\n"
-#~ msgstr ""
-#~ "GNU «tar» lagrer mange filer i ett arkiv, og kan hente ut enkeltstående\n"
-#~ "filer fra arkivet.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Usage: %s [OPTION]... [FILE]...\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Bruk: %s [FLAGG]... [FIL]...\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "If a long option shows an argument as mandatory, then it is mandatory\n"
-#~ "for the equivalent short option also.  Similarly for optional arguments.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Dersom et langt flagg har et obligatorisk argument, er argumentet også\n"
-#~ "obligatorisk for det korte flagget.  Tilsvarende gjelder dersom "
-#~ "argumentet\n"
-#~ "kan sløyfes.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Main operation mode:\n"
-#~ "  -t, --list              list the contents of an archive\n"
-#~ "  -x, --extract, --get    extract files from an archive\n"
-#~ "  -c, --create            create a new archive\n"
-#~ "  -d, --diff, --compare   find differences between archive and file "
-#~ "system\n"
-#~ "  -r, --append            append files to the end of an archive\n"
-#~ "  -u, --update            only append files newer than copy in archive\n"
-#~ "  -A, --catenate          append tar files to an archive\n"
-#~ "      --concatenate       same as -A\n"
-#~ "      --delete            delete from the archive (not on mag tapes!)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Hovedoperasjonsmodi:\n"
-#~ "  -t, --list              list innholdet av arkivet\n"
-#~ "  -x, --extract, --get    ekstrahér filer fra arkivet\n"
-#~ "  -c, --create            lage et nytt arkiv\n"
-#~ "  -d, --diff, --compare   vise forskjeller mellom arkivet og filsystemet\n"
-#~ "  -r, --append            legg til filer på slutten av arkivet\n"
-#~ "  -u, --update            legg til bare filer som er nyere enn de i "
-#~ "arkivet\n"
-#~ "  -A, --catenate          legg en arkivfil sammen med arkivet\n"
-#~ "      --concatenate       samme som -A\n"
-#~ "      --delete            slett fra arkivet (ikke for arkiv på bånd!)\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Operation modifiers:\n"
-#~ "  -W, --verify               attempt to verify the archive after writing "
-#~ "it\n"
-#~ "      --remove-files         remove files after adding them to the "
-#~ "archive\n"
-#~ "  -k, --keep-old-files       don't overwrite existing files when "
-#~ "extracting\n"
-#~ "  -U, --unlink-first         remove each file prior to extracting over "
-#~ "it\n"
-#~ "      --recursive-unlink     empty hierarchies prior to extracting "
-#~ "directory\n"
-#~ "  -S, --sparse               handle sparse files efficiently\n"
-#~ "  -O, --to-stdout            extract files to standard output\n"
-#~ "  -G, --incremental          handle old GNU-format incremental backup\n"
-#~ "  -g, --listed-incremental   handle new GNU-format incremental backup\n"
-#~ "      --ignore-failed-read   do not exit with nonzero on unreadable "
-#~ "files\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Flagg for operasjonsmodi:\n"
-#~ "  -W, --verify               forsøk å verifisere arkivet etter å ha laget "
-#~ "det\n"
-#~ "      --remove-files         slett filer etter å ha lagt dem til arkivet\n"
-#~ "  -k, --keep-old-files       ikke overskriv eksisterende filer\n"
-#~ "  -U, --unlink-first         slett alle filer før ekstrahering til dem\n"
-#~ "      --recursive-unlink     tøm filkataloger før ekstrahering\n"
-#~ "  -S, --sparse               håndtér filer med hull mer effektivt\n"
-#~ "  -O, --to-stdout            ekstrahér filer til stdout\n"
-#~ "  -G, --incremental          bruk det gamle GNU formatet for "
-#~ "inkrementell\n"
-#~ "                             sikkerhetskopiering\n"
-#~ "  -g, --listed-incremental   bruk det nye GNU-formatet for inkrementell\n"
-#~ "                             sikkerhetskopiering\n"
-#~ "      --ignore-failed-read   ignorér feil under lesing av filer\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Handling of file attributes:\n"
-#~ "      --owner=NAME             force NAME as owner for added files\n"
-#~ "      --group=NAME             force NAME as group for added files\n"
-#~ "      --mode=CHANGES           force (symbolic) mode CHANGES for added "
-#~ "files\n"
-#~ "      --atime-preserve         don't change access times on dumped files\n"
-#~ "  -m, --modification-time      don't extract file modified time\n"
-#~ "      --same-owner             try extracting files with the same "
-#~ "ownership\n"
-#~ "      --numeric-owner          always use numbers for user/group names\n"
-#~ "  -p, --same-permissions       extract all protection information\n"
-#~ "      --preserve-permissions   same as -p\n"
-#~ "  -s, --same-order             sort names to extract to match archive\n"
-#~ "      --preserve-order         same as -s\n"
-#~ "      --preserve               same as both -p and -s\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Håndtering av filattributter:\n"
-#~ "      --owner=NAVN             bruk NAVN som eier for nye filer\n"
-#~ "      --gruppe=NAVN            bruk NAVN som gruppe for nye filer\n"
-#~ "      --mode=OKTAL             bruk OKTAL som modus for nye filer\n"
-#~ "      --atime-preserve         ikke endre aksesstider på lagrede filer\n"
-#~ "  -m, --modification-time      ikke ekstrahér modifiseringstiden\n"
-#~ "      --same-owner             forsøk å ekstrahere filer med samme eier\n"
-#~ "      --numeric-owner          bruk nummer for bruker/gruppe-navn\n"
-#~ "  -p, --same-permissions       forsøk å ekstrahere filer med samme\n"
-#~ "                               filbeskyttelse\n"
-#~ "      --preserve-permissions   samme som -p\n"
-#~ "  -s, --same-order             sorter navn som skal ekstraheres slik at\n"
-#~ "                               de passer med arkivet\n"
-#~ "      --preserve-order         samme som -s\n"
-#~ "      --preserve               samme som både -p og -s\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Device selection and switching:\n"
-#~ "  -f, --file=ARCHIVE             use archive file or device ARCHIVE\n"
-#~ "      --force-local              archive file is local even if has a "
-#~ "colon\n"
-#~ "      --rsh-command=COMMAND      use remote COMMAND instead of rsh\n"
-#~ "  -[0-7][lmh]                    specify drive and density\n"
-#~ "  -M, --multi-volume             create/list/extract multi-volume "
-#~ "archive\n"
-#~ "  -L, --tape-length=NUM          change tape after writing NUM x 1024 "
-#~ "bytes\n"
-#~ "  -F, --info-script=FILE         run script at end of each tape (implies -"
-#~ "M)\n"
-#~ "      --new-volume-script=FILE   same as -F FILE\n"
-#~ "      --volno-file=FILE          use/update the volume number in FILE\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Enhetsvalg og enhetsskifte:\n"
-#~ "  -f, --file=ARKIV               bruk arkivfil eller enhet ARKIV\n"
-#~ "      --force-local              arkivfil er lokal selv om den har et "
-#~ "kolon\n"
-#~ "      --rsh-command=KOMMANDO     bruk KOMMANDO i stedet for rsh\n"
-#~ "  -[0-7][lmh]                    angi enhet og tetthet\n"
-#~ "  -M, --multi-volume             behandle arkivet som et flervolumsarkiv\n"
-#~ "  -L, --tape-length=NUMMER       bytt bånd etter at NUMMER x 1024 bytes "
-#~ "er\n"
-#~ "                                 skrevet\n"
-#~ "  -F, --info-script=FIL          kjør kommandofil FIL ved slutten av "
-#~ "hvert\n"
-#~ "                                 bånd (setter -M automatisk)\n"
-#~ "      --new-volume-script=FIL    samme som -F FIL\n"
-#~ "      --volno-file=FIL           bruk/oppdater volumnummeret i FIL\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Device blocking:\n"
-#~ "  -b, --blocking-factor=BLOCKS   BLOCKS x 512 bytes per record\n"
-#~ "      --record-size=SIZE         SIZE bytes per record, multiple of 512\n"
-#~ "  -i, --ignore-zeros             ignore zeroed blocks in archive (means "
-#~ "EOF)\n"
-#~ "  -B, --read-full-records        reblock as we read (for 4.2BSD pipes)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Blokkhåndtering:\n"
-#~ "  -b, --blocking-factor=ENHETER  sett blokkstørrelse ENHETER x 512 bytes\n"
-#~ "      --record-size=STØRRELSE    STØRRELSE bytes per enhet (delbart på "
-#~ "512)\n"
-#~ "  -i, --ignore-zeros             ignorér blokker som inneholder nuller\n"
-#~ "                                 (betyr filslutt)\n"
-#~ "  -B, --read-full-records        blokk om ved lesing (for 4.2BSD pipes)\n"
-
-#
-#~ msgid ""
-#~ "\n"
-#~ "Archive format selection:\n"
-#~ "  -V, --label=NAME                   create archive with volume name "
-#~ "NAME\n"
-#~ "              PATTERN                at list/extract time, a globbing "
-#~ "PATTERN\n"
-#~ "  -o, --old-archive, --portability   write a V7 format archive\n"
-#~ "      --posix                        write a POSIX conformant archive\n"
-#~ "  -z, --gzip, --ungzip               filter the archive through gzip\n"
-#~ "  -Z, --compress, --uncompress       filter the archive through compress\n"
-#~ "      --use-compress-program=PROG    filter through PROG (must accept -"
-#~ "d)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Valg av arkivformat:\n"
-#~ "  -V, --label=NAVN                   lag et arkiv med volumnavn NAVN\n"
-#~ "              MØNSTER                filer som skal tas med ved listing "
-#~ "eller\n"
-#~ "                                     ekstrahering (tillatt med "
-#~ "jokertegn)\n"
-#~ "  -o, --old-archive, --portability   lag et arkiv i V7 format\n"
-#~ "      --posix                        lag et POSIX-konformt arkiv\n"
-#~ "  -z, --gzip, --ungzip               send arkivet gjennom gzip\n"
-#~ "  -Z, --compress, --uncompress       send arkivet gjennom compress\n"
-#~ "      --use-compress-program=PROG    send arkivet gjennom PROG (må forstå "
-#~ "-d)\n"
-
-#
-#~ msgid ""
-#~ "\n"
-#~ "Local file selection:\n"
-#~ "  -C, --directory=DIR          change to directory DIR\n"
-#~ "  -T, --files-from=NAME        get names to extract or create from file "
-#~ "NAME\n"
-#~ "      --null                   -T reads null-terminated names, disable -"
-#~ "C\n"
-#~ "      --exclude=PATTERN        exclude files, given as a globbing "
-#~ "PATTERN\n"
-#~ "  -X, --exclude-from=FILE      exclude globbing patterns listed in FILE\n"
-#~ "  -P, --absolute-names         don't strip leading `/'s from file names\n"
-#~ "  -h, --dereference            dump instead the files symlinks point to\n"
-#~ "      --no-recursion           avoid descending automatically in "
-#~ "directories\n"
-#~ "  -l, --one-file-system        stay in local file system when creating "
-#~ "archive\n"
-#~ "  -K, --starting-file=NAME     begin at file NAME in the archive\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Valg av lokale filer:\n"
-#~ "  -C, --directory=KATALOG      endre filkatalog til KATALOG\n"
-#~ "  -T, --files-from=FIL         hent navn for ekstrahering eller "
-#~ "arkivering\n"
-#~ "\t\t\t       fra filen FIL\n"
-#~ "      --null                   -T leser null-terminerte navn, tillater "
-#~ "ikke -C\n"
-#~ "      --exclude=MØNSTER        ta ikke med filer (tillatt med jokertegn)\n"
-#~ "  -X, --exclude-from=FIL       ta ikke med filer navngitte i filen FIL\n"
-#~ "                               (tillatt med jokertegn)\n"
-#~ "  -P, --absolute-names         ta ikke bort ledende «/» fra filnavn\n"
-#~ "  -h, --dereference            arkivér det symboliske linker peker på\n"
-#~ "      --no-recurse             ta ikke med filer i underkataloger\n"
-#~ "  -l, --one-file-system        ta ikke med filer fra andre filsystemer\n"
-#~ "  -K, --starting-file=NAVN     begynn med filen NAVN i arkivet\n"
-
-#
-#~ msgid ""
-#~ "  -N, --newer=DATE             only store files newer than DATE\n"
-#~ "      --newer-mtime            compare date and time when data changed "
-#~ "only\n"
-#~ "      --after-date=DATE        same as -N\n"
-#~ msgstr ""
-#~ "  -N, --newer=DATO             arkivér bare filer som er nyere enn DATO\n"
-#~ "      --newer-mtime            sammenlign tidsstempel bare når data er "
-#~ "endret\n"
-#~ "      --after-date=DATO        samme som -N\n"
-
-#~ msgid ""
-#~ "      --backup[=CONTROL]       backup before removal, choose version "
-#~ "control\n"
-#~ "      --suffix=SUFFIX          backup before removel, override usual "
-#~ "suffix\n"
-#~ msgstr ""
-#~ "      --backup[=KONTROLL]      lag sikkerhetskopi før sletting, med\n"
-#~ "                               versjonskontroll\n"
-#~ "      --suffix=SUFFIKS         lag sikkerhetskopi før sletting, med\n"
-#~ "                               overstyring av det vanlige suffikset\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Informative output:\n"
-#~ "      --help            print this help, then exit\n"
-#~ "      --version         print tar program version number, then exit\n"
-#~ "  -v, --verbose         verbosely list files processed\n"
-#~ "      --checkpoint      print directory names while reading the archive\n"
-#~ "      --totals          print total bytes written while creating archive\n"
-#~ "  -R, --block-number    show block number within archive with each "
-#~ "message\n"
-#~ "  -w, --interactive     ask for confirmation for every action\n"
-#~ "      --confirmation    same as -w\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Utskrift av informasjon:\n"
-#~ "      --help            vis denne hjelpeteksten og avslutt\n"
-#~ "      --version         vis programversjon og avslutt\n"
-#~ "  -v, --verbose         vis hver fil som behandles\n"
-#~ "      --checkpoint      vis filkatalognavn når arkivet leses\n"
-#~ "      --totals          vis totalt antall bytes skrevet\n"
-#~ "  -R, --block-number    vis enhetsnummer i arkivet sammen med alle "
-#~ "meldinger\n"
-#~ "  -w, --interactive     spør etter bekreftelse for hver operasjon\n"
-#~ "      --confirmation    samme som -w\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "GNU tar cannot read nor produce `--posix' archives.  If POSIXLY_CORRECT\n"
-#~ "is set in the environment, GNU extensions are disallowed with `--posix'.\n"
-#~ "Support for POSIX is only partially implemented, don't count on it yet.\n"
-#~ "ARCHIVE may be FILE, HOST:FILE or USER@HOST:FILE; and FILE may be a file\n"
-#~ "or a device.  *This* `tar' defaults to `-f%s -b%d'.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "GNU tar kan hverken lese eller skrive «--posix»-arkiver.  Dersom\n"
-#~ "miljøvariabelen POSIXLY_CORRECT er satt, er GNU-funksjoner ikke tillatt\n"
-#~ "sammen med «--posix».  Støtte for POSIX er bare delvis implementert, så\n"
-#~ "stol ikke på den ennå.\n"
-#~ "ARKIV kan være FIL, MASKIN:FIL eller BRUKER@MASKIN:FIL; og FIL kan være "
-#~ "en\n"
-#~ "fil eller en enhet.  *Denne* versjonen av tar har «-f%s -b%d» som "
-#~ "forvalg.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <tar-bugs@gnu.ai.mit.edu>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Rapporter feil til <tar-bugs@gnu.ai.mit.edu>.\n"
-
-#~ msgid "Obsolete option, now implied by --blocking-factor"
-#~ msgstr "Utdatert flagg, nå implisert av --blocking-factor"
-
-#~ msgid "Obsolete option name replaced by --blocking-factor"
-#~ msgstr "Utdatert flagg skiftet ut med --blocking-factor"
-
-#~ msgid "Obsolete option name replaced by --read-full-records"
-#~ msgstr "Utdatert flagg skiftet ut med --read-full-records"
-
-#~ msgid "Obsolete option name replaced by --touch"
-#~ msgstr "Utdatert flagg skiftet ut med --touch"
-
-#~ msgid "Conflicting archive format options"
-#~ msgstr "Konflikt i flaggene for arkiv-format"
-
-#~ msgid "Obsolete option name replaced by --absolute-names"
-#~ msgstr "Utdatert flagg skiftet ut med --absolute-names"
-
-#~ msgid "Obsolete option name replaced by --block-number"
-#~ msgstr "Utdatert flagg skiftet ut med --block-number"
-
-#
-#~ msgid "Obsolete option name replaced by --backup"
-#~ msgstr "Utdatert flagg skiftet ut med --backup"
-
-#~ msgid "Invalid group given on option"
-#~ msgstr "Ugyldig gruppe gitt i flagg"
-
-#~ msgid ""
-#~ "\n"
-#~ "Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, "
-#~ "Inc.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, "
-#~ "Inc.\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Dette er fri programvare.  Se kildekoden for kopieringsbetingelser.\n"
-#~ "Programvaren har ingen garanti, ikke en gang for SALGBARHET eller "
-#~ "EGNETHET\n"
-#~ "TIL NOEN SPESIELL OPPGAVE.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Written by John Gilmore and Jay Fenlason.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Skrevet av John Gilmore and Jay Fenlason.\n"
-
-#~ msgid "Error exit delayed from previous errors"
-#~ msgstr "Utsatt feil-avslutning for tidligere feil"
-
-#~ msgid ""
-#~ "If a long option shows an argument as mandatory, then it is mandatory\n"
-#~ "for the equivalent short option also.\n"
-#~ "\n"
-#~ "  -l, --file-length=LENGTH   LENGTH of generated file\n"
-#~ "  -p, --pattern=PATTERN      PATTERN is `default' or `zeros'\n"
-#~ "      --help                 display this help and exit\n"
-#~ "      --version              output version information and exit\n"
-#~ msgstr ""
-#~ "Obligatoriske argumenter for lange flagg er obligatoriske også for korte "
-#~ "flagg.\n"
-#~ "\n"
-#~ "  -l, --file-length=LENGDE    lengde av generert fil\n"
-#~ "  -p, --pattern=MØNSTER       gyldige mønster er «default» eller «zeros»\n"
-#~ "      --help                  vis denne hjelpeteksten og avslutt\n"
-#~ "      --version               vis programversjon og avslutt\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Written by François Pinard <pinard@iro.umontreal.ca>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Skrevet av François Pinard <pinard@iro.umontreal.ca>\n"
+#~ msgstr "Kan ikke lage ny prosess med «fork»"
index 271ff4de56fa2cb134087c92ff84338923390239..8e140ee1944c26cd96beaa2d9f58012508c8f92c 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index b4fb5e50fffb447a19d7f5dceabb992cd29e2c61..2efc457660a1fcdd0ac490d6b7d509b48b4eed52 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,19 +1,19 @@
 # Dutch translations for GNU tar.
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2016 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 #
-# "Along the maize and through the woods."
+# “Moet men krabben waar het jeukt?”
 #
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008, 2010, 2011, 2013.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008, 2010, 2011, 2013, 2014, 2016.
 # Erwin Poeze <erwin.poeze@gmail.com>, 2009.
 # Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.27\n"
+"Project-Id-Version: tar-1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-06 21:37+0200\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-18 11:44+0100\n"
 "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -23,46 +23,46 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Lokalize 1.0\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "ongeldig argument %s van %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argument %s van %s is niet eenduidig"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Geldige argumenten zijn:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Onbekende parameter in ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Rommel in ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -70,145 +70,150 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Gebruik: "
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "     of: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPTIE...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 "Rapporteer gebreken in het programma aan %s;\n"
 "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Onbekende systeemfout"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "deze hulptekst tonen"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "een korte gebruikssamenvatting tonen"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NAAM"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "de programmanaam instellen"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SECONDEN"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "dit aantal seconden pauzeren (standaard 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "programmaversie tonen"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "**Interne programmafout**: geen versie bekend!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Te veel argumenten\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "**Interne programmafout**: optie had herkend moeten worden!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "schrijffout"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: optie '%s' is niet eenduidig; mogelijkheden zijn:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: optie '%s' is niet eenduidig\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: optie '--%s' staat geen argument toe\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: optie '--%s' vereist een argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: onbekende optie '--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: onbekende optie '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ongeldige optie -- '%c'\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: optie vereist een argument -- '%c'\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: optie '-W %s' is niet eenduidig\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: optie '-W %s' vereist een argument\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "onvoldoende geheugen beschikbaar"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "kan de huidige werkmap niet vastleggen"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "kan niet terugkeren naar de oorspronkelijke werkmap"
@@ -234,11 +239,11 @@ msgstr "kan niet terugkeren naar de oorspronkelijke werkmap"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "‘"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "’"
 
@@ -248,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[jJyY]"
 
@@ -258,16 +263,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "In pakketvorm gebracht door %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "In pakketvorm gebracht door %s\n"
@@ -275,11 +280,11 @@ msgstr "In pakketvorm gebracht door %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -297,19 +302,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Geschreven door %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Geschreven door %s en %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Geschreven door %s, %s en %s.\n"
@@ -317,7 +322,7 @@ msgstr "Geschreven door %s, %s en %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -329,7 +334,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -341,7 +346,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -353,7 +358,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -365,7 +370,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -379,7 +384,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -393,7 +398,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -408,7 +413,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -418,24 +423,24 @@ msgstr ""
 "Rapporteer gebreken in het programma aan <%s>;\n"
 "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 "Rapporteer gebreken in het programma '%s' aan <%s>;\n"
 "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Webpagina van %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Webpagina van %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Algemene hulp bij gebruik van GNU-software: <http://www.gnu.org/gethelp/>\n"
@@ -602,8 +607,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "AANTAL"
 
@@ -611,10 +616,11 @@ msgstr "AANTAL"
 msgid "set debug level"
 msgstr "debug-niveau instellen"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "BESTAND"
 
@@ -627,7 +633,7 @@ msgstr "naam van debug-uitvoerbestand instellen"
 msgid "cannot open %s"
 msgstr "kan %s niet openen"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "te veel argumenten"
@@ -636,112 +642,113 @@ msgstr "te veel argumenten"
 msgid "Garbage command"
 msgstr "Ongeldige opdracht"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Dit ziet er niet uit als een tar-archief"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Totaal aantal gelezen bytes"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Totaal aantal geschreven bytes"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Totaal aantal verwijderde bytes: %s\n"
+msgstr "Totaal aantal verwijderde bytes"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(pijp)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Archiefinhoud wordt niet van terminal gelezen (ontbrekende optie '-f'?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Archiefinhoud wordt niet naar terminal geschreven (ontbrekende optie '-f'?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Ongeldige waarde voor recordgrootte"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Geen archiefnaam opgegeven"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan archieven op standaardinvoer of -uitvoer niet verifiëren"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archief is gecomprimeerd.  Gebruik optie '%s'."
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Kan ingepakte archieven niet bijwerken"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Aan het begin van de band -- tar sluit nu af."
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Te veel fouten -- tar sluit nu af."
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek() is niet gestopt op een recordgrens"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: bevat een ongeldig deelnummer"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Deelnummer-overloop"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "een lege tekst, terwijl gebruikersinvoer werd verwacht"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "WAARSCHUWING: Archief is onvolledig"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -753,65 +760,65 @@ msgstr ""
 " q           tar afbreken\n"
 " y of Enter  doorgaan\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !           een subshell starten\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?           dit lijstje tonen\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Geen nieuw deel -- tar sluit af.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Geen bestandsnaam opgegeven.  Probeer het nog eens.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ongeldige invoer.  Typ ? voor hulp.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "Opdracht %s is mislukt"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s gaat niet verder in dit deel"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s heeft een verkeerde grootte (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Archief bevat geen label, kan niet overeenkomen met %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Deel %s komt niet overeen met %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -819,7 +826,7 @@ msgstr ""
 "%s: bestandsnaam is te lang om opgeslagen te worden in een GNU-meerdelenkop; "
 "afgekapt"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "schrijven is niet gestopt op een recordgrens"
 
@@ -830,20 +837,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Inhouden verschillen"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Onverwacht einde-van-bestand in archief"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Bestandssoort verschilt"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Modus verschilt"
 
@@ -859,7 +866,7 @@ msgstr "GID verschilt"
 msgid "Mod time differs"
 msgstr "Wijzigingstijd verschilt"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Grootte verschilt"
 
@@ -868,139 +875,139 @@ msgstr "Grootte verschilt"
 msgid "Not linked to %s"
 msgstr "Niet gekoppeld aan %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symbolische koppeling verschilt"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Apparaatnummer verschilt"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verifiëren "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Onbekende bestandssoort '%c'; gedifft als gewoon bestand"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Archief bevat bestandsnamen waarvan de prefixen verwijderd zijn."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Archief bevat getransformeerde bestandsnamen."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Een verificatie kan mogelijk de originele bestanden niet vinden."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Een los blok met nullen op %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: map bevat cache-markering %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "waarde %s valt buiten bereik voor %s (%s..%s)"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Er worden negatieve octale koppen gemaakt"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: koppelingsnaam is te lang; niet gearchiveerd"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "inhoud niet gearchiveerd"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Onbekende bestandssoort; bestand genegeerd"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Ontbrekende koppelingen naar %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: bestand is ongewijzigd; niet gearchiveerd"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: bestand is het archief zelf; niet gearchiveerd"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "map is niet gearchiveerd"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: bestand is gewijzigd tijdens het lezen"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket genegeerd"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: deur genegeerd"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Alles tot aan volgende kop wordt overgeslagen"
 
@@ -1018,55 +1025,55 @@ msgstr "%s: onwaarschijnlijk oude tijdsstempel %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: tijdsstempel %s ligt %s seconden in de toekomst"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Onverwachte inconsistentie tijdens aanmaken van map"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: bestaand bestand wordt overgeslagen"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Aaneengesloten bestanden worden uitgepakt als gewone bestanden"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr ""
 "Poging om symbolische koppelingen als harde koppelingen uit te pakken..."
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Onverwachte langenaamkop"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Onbekende bestandssoort '%c'; uitgepakt als gewoon bestand"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Huidige %s is nieuwer of even oud"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Kan geen reservekopie van dit bestand maken"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Kan %s niet tot %s hernoemen"
@@ -1116,16 +1123,16 @@ msgstr "Ongeldig inode-nummer"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: byte %s: %s %.*s... te lang"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Onverwacht einde-van-bestand in snapshot-bestand"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: byte %s: %s %s wordt gevolgd door ongeldige byte 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1134,115 +1141,115 @@ msgstr ""
 "%s: byte %s: (ongeldig bereik %s..%s)\n"
 "    %s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Ontbrekende record-afsluiting"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Onjuiste incrementele bestandsindeling"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 "Niet-ondersteunde versie (%<PRIuMAX>) van incrementele bestandsindeling"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Onjuiste archiveringsmap: '%c' werd verwacht maar %#3o gevonden"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Onjuiste archiveringsmap: 'X' staat er dubbel"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Onjuiste archiveringsmap: lege naam in 'R'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Onjuiste archiveringsmap: 'T' werd niet voorafgegaan door 'R'"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Onjuiste archiveringsmap: lege naam in 'T'"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Onjuiste archiveringsmap: 'X' is nergens gebruikt"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Kan met sjabloon %s geen tijdelijke map aanmaken"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, 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:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Verwijderen van %s...\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Kan niet verwijderen"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Overgeslagen"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok van NUL-tekens **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Einde-van-bestand **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1250,87 +1257,87 @@ msgstr ""
 "aangenomen"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archief bevat ouderwetse grondtal-64 koppen"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " koppeling naar %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " onbekende bestandssoort %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lange koppeling--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Lange naam--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Deelkop--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Verder bij byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Aanmaken van map:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Hernoemen van %s naar %s...\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "Kan %s niet naar %s hernoemen"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Hernoemen van %s terug naar %s...\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Bestand werd verwijderd voordat het gelezen kon worden"
@@ -1343,30 +1350,189 @@ msgstr "dochterproces"
 msgid "interprocess channel"
 msgstr "interproces-kanaal"
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Lokale bestandsnaamkeuze:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "MAP"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "naar MAP gaan"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "namen van in of uit te pakken bestanden uit BESTAND halen"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+"'-T' leest met NUL afgesloten namen; impliceert '--verbatim-files-from'"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "het resultaat van de vorige '--null'-optie ongedaan maken"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"aanhalingstekens verwijderen rond invoerbestand of lidnamen (standaard)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "geen aanhalingstekens verwijderen rond invoerbestand of lidnamen"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "'-T' leest bestandsnamen verbatim (ziet geen opties)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+"'-T' ziet bestandsnamen die beginnen met een streepje als opties (standaard)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PATROON"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "bestanden uitsluiten, gegeven als een PATROON"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "uitsluitingspatronen staan opgesomd in BESTAND"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"inhoud van mappen die CACHEDIR.TAG bevatten uitsluiten, behalve CACHEDIR.TAG "
+"zelf"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "alles onder mappen die CACHEDIR.TAG bevatten uitsluiten"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "mappen die CACHEDIR.TAG bevatten uitsluiten"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"inhoud van mappen die BESTAND bevatten uitsluiten, behalve BESTAND zelf"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "uitsluitingspatronen voor mappen uit BESTAND lezen, als deze bestaat"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"uitsluitingspatronen voor mappen en submappen uit BESTAND lezen, als deze "
+"bestaat"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "alles onder mappen die BESTAND bevatten uitsluiten"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "mappen die BESTAND bevatten uitsluiten"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "systeemmappen van versiebeheer uitsluiten"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "uitsluitingspatronen uit VCS-ignore-bestanden lezen"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "reservekopieën en vergrendelingsbestanden uitsluiten"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "recursief in mappen afdalen (standaard)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "niet automatisch afdalen in mappen"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "patronen komen overeen met begin van bestandsnaam"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+"patronen komen overeen met alles na een '/' (is standaard bij uitsluiting)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "verschil tussen hoofd- en kleine letters negeren"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "hoofdlettergevoelige vergelijking (standaard)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "jokertekens gebruiken (is standaard bij uitsluiting)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "exacte tekenreeksvergelijking"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "jokertekens komen overeen met '/' (is standaard bij uitsluiting)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "jokertekens komen niet overeen met '/'"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "opdrachtregel"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: verzochte bestandenlijst uit %s is al gelezen uit %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "kan tekenreeks '%s' niet splitsen: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: gelezen bestandsnaam bevat een NUL-teken"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Bestandsnamen bevatten jokertekens."
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1374,46 +1540,46 @@ msgstr ""
 "Gebruik '--wildcards' om patroonovereenkomsten in te schakelen,\n"
 "of '--no-wildcards' om deze waarschuwing te onderdrukken."
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Komt niet voor in archief"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Is vereist maar komt niet voor in archief"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Archieflabel komt niet overeen"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Met '--listed-incremental' is slechts één '-C' toegestaan"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Opties '-%s' en '-%s' willen beide standaardinvoer gebruiken"
+msgstr "Opties '%s' en '%s' willen beide standaardinvoer gebruiken"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Ongeldige archiefindeling"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-functies gevraagd bij een incompatibele archiefindeling"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1421,7 +1587,7 @@ msgstr ""
 "Onbekende aanhalingsstijl '%s'.  Probeer '%s --quoting-style=help' voor een "
 "overzicht."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1441,7 +1607,7 @@ 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:387
+#: src/tar.c:363
 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 "
@@ -1462,80 +1628,88 @@ msgstr ""
 "  nil, existing   genummerd als ze al bestaan, anders simpel\n"
 "  never, simple   altijd simpele reservekopieën maken\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Hoofdbewerkingen:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "de inhoud van een archief opsommen"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "bestanden uit een archief uitpakken"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "een nieuw archief aanmaken"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "verschillen tussen archief en bestandssyteem vinden"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "bestanden aan het eind van een archief toevoegen"
 
-#: src/tar.c:432
+#: src/tar.c:408
 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:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "tar-bestanden aan een archief toevoegen"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "uit het archief verwijderen (niet gebruiken bij magneetbanden!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "label van archiefdeel controleren en stoppen"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Werkingsaanpassers:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "luchtige bestanden efficiënt verwerken"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "METHODE"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "te gebruiken methode om gaten te detecteren"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "HOOFD[.SUB]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "versie van te gebruiken luchtige indeling (impliceert '--sparse')"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "oude GNU-indeling van incrementeel archief verwerken"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "nieuwe GNU-indeling van incrementeel archief verwerken"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "dump-niveau voor aan te maken incrementeel archief"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "niet afsluiten met een foutcode bij onleesbare bestanden"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1545,149 +1719,158 @@ msgstr ""
 "alleen het AANTALste voorkomen van elk bestand in het archief verwerken; "
 "deze optie is alleen geldig samen met een van de subopdrachten --delete, --"
 "diff, --extract of --list, en wanneer een lijst van bestanden gegeven is op "
-"de opdrachtregel of via de optie -T; AANTAL is standaard 1"
+"de opdrachtregel of via optie -T; AANTAL is standaard 1"
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "in archief kan worden gesprongen"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "in archief kan niet worden gesprongen"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 "geen apparaatnummers controleren tijdens aanmaken van incrementele archieven"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "apparaatnummers controleren tijdens aanmaken van incrementele archieven "
 "(standaard)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Overschrijvingsopties:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "het archief na het schrijven proberen te verifiëren"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "bestanden na hun toevoeging aan het archief verwijderen"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 "bij het uitpakken bestaande bestanden niet vervangen; behandelen als fouten"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "bij het uitpakken bestaande bestanden niet vervangen; stilletjes overslaan"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "bestaande bestanden bij het uitpakken overschrijven"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "elk bestand verwijderen alvorens eroverheen uit te pakken"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "bestaande mappen leegmaken alvorens eroverheen uit te pakken"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "metagegevens van bestaande mappen behouden"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "de metagegevens van bestaande mappen bij het uitpakken overschrijven "
 "(standaard)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 "bestaande symbolische koppelingen naar mappen behouden bij het uitpakken"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "MAP"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "een submap aanmaken om het uitpakken van losse bestanden te vermijden"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Selecteren van uitvoerkanaal:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "bestanden uitpakken naar standaarduitvoer"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "OPDRACHT"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "uitgepakte bestanden via pijp naar gegeven programma sluizen"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "afsluitwaardes van dochterprocessen negeren"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 "afsluitwaardes van dochterprocessen die niet nul zijn als fout behandelen"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Behandeling van bestandskenmerken:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "toegevoegde bestanden krijgen NAAM als eigenaar"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "toegevoegde bestanden krijgen NAAM als groep"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "UID's en gebruikersnamen uit BESTAND halen"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "GID's en groepsnamen uit BESTAND halen"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATUM-OF-BESTAND"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "WIJZIGINGEN"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "toegevoegde bestanden krijgen (symbolische) WIJZIGINGEN in hun modus"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "MANIER"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1697,11 +1880,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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "bestandswijzigingstijden niet uitpakken"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1709,19 +1892,19 @@ msgstr ""
 "bestanden proberen uit te pakken met dezelfde eigenaar als in het archief "
 "(standaard voor root)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "bestanden uitpakken als uzelf (standaard voor gewone gebruikers)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "altijd getallen gebruiken voor gebruikers- en groepsnamen"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "bestandspermissies ook uitpakken (standaard voor root)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1729,17 +1912,13 @@ msgstr ""
 "de umask van de gebruiker toepassen bij het uitpakken van bestandspermissies "
 "(standaard voor gewone gebruikers)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 "lid-argumenten worden getoond in de volgorde die ze hebben in het archief"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "hetzelfde als '-p' en '-s' samen"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1747,187 +1926,187 @@ msgstr ""
 "het zetten van permissies en tijdsstempels van mappen uitstellen tot na het "
 "uitpakken"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "het effect van de optie --delay-directory-restore ongedaan maken"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "VOLGORDE"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "sorteervolgorde van mappen: 'none' (geen, standaard) of 'name' (naam)"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Behandeling van uitgebreide bestandskenmerken:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Ondersteuning voor uitgebreide kenmerken inschakelen"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Ondersteuning voor uitgebreide kenmerken uitschakelen"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASKER"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "patroon van in te sluiten xattr-sleutels"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "patroon van uit te sluiten xattr-sleutels"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Ondersteuning voor SELinux-contexten inschakelen"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Ondersteuning voor SELinux-contexten uitschakelen"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Ondersteuning voor POSIX ACL's inschakelen"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Ondersteuning voor POSIX ACL's uitschakelen"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Apparaatselectie en -wisseling:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIEF"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "archiefbestand of apparaat ARCHIEF gebruiken"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "deze OPDRACHT gebruiken in plaats van 'rmt'"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "deze OPDRACHT gebruiken in plaats van 'rsh'"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "schijf en dichtheid opgeven"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "meerdelig archief aanmaken/opsommen/uitpakken"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "band wisselen na schrijven van AANTAL x 1024 bytes"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "script uitvoeren aan einde van elke band (impliceert '-M')"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "het deelnummer in BESTAND gebruiken/bijwerken"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blokverwerking:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKKEN"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKKEN x 512 bytes per record"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "AANTAL bytes per record (een veelvoud van 512)"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "blokken met nullen in archief negeren (betekenen einde-van-bestand)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "doorgaan met lezen tot blok compleet is (voor 4.2BSD-pijpen)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Archiefindelingskeuze:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "INDELING"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "een archief maken in de gekozen indeling"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "INDELING is een van de volgende:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "oude V7 tar-indeling"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-indeling van tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU-indeling van tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar-indeling)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax-indeling)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "hetzelfde als pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "hetzelfde als --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "hetzelfde als --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "sleutelwoord[[:]=waarde][,sleutelwoord[[:]=waarde]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "het aangeven van pax-sleutelwoorden"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEKST"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1935,186 +2114,82 @@ msgstr ""
 "een archief met deelnaam TEKST maken; bij opsommen/uitpakken TEKST als "
 "zoekpatroon voor de deelnaam gebruiken"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Compressie-opties:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "compressieprogramma afleiden uit bestandsachtervoegsel"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "compressieprogramma niet afleiden uit bestandsachtervoegsel"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROGRAMMA"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "het archief door dit programma filteren (moet '-d' accepteren)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Lokale bestandskeuze:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "naar MAP gaan"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "namen van in of uit te pakken bestanden uit BESTAND halen"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "'-T' leest met NUL afgesloten namen, schakelt '-C' uit"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "het resultaat van de vorige '--null'-optie ongedaan maken"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"aanhalingstekens verwijderen rond bestandsnamen gelezen met '-T' (standaard)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "aanhalingstekens niet verwijderen rond bestandsnamen gelezen met '-T'"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PATROON"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "bestanden uitsluiten, gegeven als een PATROON"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "uitsluitingspatronen staan opgesomd in BESTAND"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"inhoud van mappen die CACHEDIR.TAG bevatten uitsluiten, behalve CACHEDIR.TAG "
-"zelf"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "alles onder mappen die CACHEDIR.TAG bevatten uitsluiten"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "mappen die CACHEDIR.TAG bevatten uitsluiten"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "alles onder mappen die BESTAND bevatten uitsluiten"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "mappen die BESTAND bevatten uitsluiten"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "systeemmappen van versiebeheer uitsluiten"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "reservekopieën en vergrendelingsbestanden uitsluiten"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "niet automatisch afdalen in mappen"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "in het lokale bestandssysteem blijven bij maken van archief"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "recursief in mappen afdalen (standaard)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "leidende '/' niet uit bestandsnamen verwijderen"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "LIDNAAM"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "beginnen bij lid LIDNAAM tijdens lezen van het archief"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "alleen bestanden opslaan die nieuwer zijn dan DATUM-OF-BESTAND"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "datum en tijd alleen vergelijken wanneer gegevens veranderd zijn"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "MANIER"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "voor verwijdering een reservekopie maken, op de aangegeven MANIER"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "TEKENREEKS"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2123,98 +2198,61 @@ msgstr ""
 "(in plaats van '~', die standaard is tenzij door omgevingsvariable "
 "SIMPLE_BACKUP_SUFFIX veranderd)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Bestandsnaam-transformaties:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "dit AANTAL leidende componenten uit bestandsnamen verwijderen"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "EXPRESSIE"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "deze vervangings-EXPRESSIE gebruiken om bestandsnamen met 'sed' te "
 "transformeren"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "verschil tussen hoofd- en kleine letters negeren"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "patronen komen overeen met begin van bestandsnaam"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-"patronen komen overeen met alles na een '/' (is standaard bij uitsluiting)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "hoofdlettergevoelige vergelijking (standaard)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "jokertekens gebruiken (is standaard bij uitsluiting)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "exacte tekenreeksvergelijking"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "jokertekens komen niet overeen met '/'"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "jokertekens komen overeen met '/' (is standaard bij uitsluiting)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informatieve uitvoer:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "de verwerkte bestanden opsommen"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "SLEUTELWOORD"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "waarschuwingsbeleid"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "voortgangsberichten tonen voor elk AANTALste record (standaard 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ACTIE"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "bij elk controlepunt deze ACTIE uitvoeren"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "een bericht tonen als niet alle links gearchiveerd werden"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2226,35 +2264,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:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "bestandswijzigingstijden in UTC tonen"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "bestandstijden in volledige resolutie tonen"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "gedetailleerde uitvoer naar BESTAND sturen"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "bloknummer binnen archief tonen bij elk bericht"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "bij elke actie om toestemming vragen"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "standaardinstellingen van 'tar' tonen"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "geldige bereiken tonen voor snapshot-velden"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2262,33 +2300,33 @@ msgstr ""
 "bij opsommen of uitpakken: elke map opsommen die niet aan zoekcriteria "
 "voldoet"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "bestands- of archiefnamen na transformatie tonen"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STIJL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "ook de tekens in TEKENREEKS aanhalen"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "de tekens in TEKENREEKS niet aanhalen"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Compatibiliteitsopties:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2296,16 +2334,23 @@ msgstr ""
 "bij aanmaken hetzelfde als --old-archive; bij uitpakken hetzelfde als --no-"
 "same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Andere opties:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 "het gebruik van potentieel gevaarlijke opties of opdrachten uitschakelen"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "optie '%s' gaat niet samen met '%s'"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2313,40 +2358,40 @@ msgstr ""
 "Slechts één van de opties '-Acdtrux', '--delete', of '--test-label' is "
 "mogelijk"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Conflicterende compressie-opties"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Onbekende signaalnaam: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Voorbeeldbestand voor tijdsstempel niet gevonden"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Onbekende datumopmaak %2$s wordt vervangen door %1$s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Optie %s: datum '%s' wordt begrepen als %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "het archief door '%s' filteren"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Geldige argumenten van de optie '--quoting-style' zijn:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2354,186 +2399,199 @@ msgstr ""
 "\n"
 "*Deze* tar gebruikt de volgende standaardwaarden:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Ongeldige eigenaar of groeps-ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Ongeldige blokkenfactor"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Ongeldige bandlengte"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Onjuiste waarde van incrementeel niveau"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Meerdere drempeldata"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Ongeldig versienummer voor luchtige indeling"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' is op dit platform niet mogelijk"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "Waarde van '--checkpoint' is geen geheel getal"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Ongeldige modus gegeven bij optie"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Ongeldig nummer"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"De optie '--preserve' is vervallen; gebruik nu '--preserve-permissions --"
-"preserve-order'."
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Ongeldige recordgrootte"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Recordgrootte moet een veelvoud zijn van %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Ongeldig aantal elementen"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Slechts één optie '--to-command' is toegestaan"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Ongeldig dichtheidsargument: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Onbekende dichtheid: '%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: locatie van de fout"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "fout bij ontleden van %s"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[BESTAND]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Optie '--%s' kan niet gebruikt worden met '%s'"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "non-optie argumenten in %s"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "kan TAR_OPTIONS niet splitsen: %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Oude optie '%c' vereist een argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "Optie '--occurrence' betekent niets zonder een bestandenlijst"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Voor meerdere archiefbestanden is de optie '-M' vereist"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Optie '--level' is betekenisloos zonder '--listed-incremental'"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Kan meerdelige archieven niet verifiëren"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Kan ingepakte archieven niet verifiëren"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan geen meerdelige ingepakte archieven verwerken"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Kan ingepakte archieven niet samenvoegen"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "Optie '--pax' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "Optie '--acls' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "Optie '--selinux' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "Optie '--xattrs' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Kan naam van topmap niet achterhalen; zet deze expliciet met '--one-top-"
+"level=MAP'"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Deellengte kan niet kleiner zijn dan de recordgrootte"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
-msgstr "Een geheel leeg archief wordt niet aangemaakt"
+msgstr "Een compleet leeg archief wordt niet aangemaakt"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Opties '-Aru' gaan niet samen met '-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "U dient een van de opties '-Acdtrux', '--delete', of '--test-label' op te "
 "geven"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Gestopt in fouttoestand vanwege eerdere fouten"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
+"sorteervolgorde van mappen: 'none' (geen, standaard), 'name' (naam) of "
+"'inode'"
 
 #: src/update.c:87
 #, c-format
@@ -2587,7 +2645,7 @@ msgstr "Onjuiste uitgebreide kop: ontbrekend regeleinde"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Genegeerd: onbekend sleutelwoord '%s' in uitgebreide kop"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2596,28 +2654,28 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Onjuiste uitgebreide kop: overtollige %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s: onverwacht scheidingsteken %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s: oneven aantal waarden"
@@ -2658,7 +2716,7 @@ msgstr "Schrijfcontrolepunt %u"
 msgid "Read checkpoint %u"
 msgstr "Leescontrolepunt %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2667,73 +2725,77 @@ msgstr ""
 "paxutils.\n"
 "OPTIES zijn:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Bestandsaanmaak-opties:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "GROOTTE"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "een bestand van de gegeven GROOTTE aanmaken"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "naar het bestand NAAM schrijven i.p.v. naar standaarduitvoer"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "bestandsnamen uit BESTAND lezen"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T leest met NUL afgesloten namen"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "het bestand met het gegeven PATROON vullen; PATROON is 'default' (standaard) "
 "of 'zeros' (nullen)"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "blokgrootte voor luchtig bestand"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "luchtig bestand genereren; de rest van de opdrachtregel specificeert de "
 "indeling"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "POSITIE"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "naar deze positie springen alvorens met schrijven te beginnen"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Bestandsstatistieken-opties:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "voor elk gegeven bestand de inhoud van de struct 'stat' printen; de "
 "standaard INDELING is: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Synchrone-uitvoer-opties:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPTIE"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2741,21 +2803,21 @@ msgstr ""
 "gegeven ARGUMENTEN uitvoeren; dit is nuttig bij '--checkpoint' samen met één "
 "van '--cut', '--append', '--touch', of '--unlink'"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "de gegeven actie uitvoeren (zie verderop) bij bereiken van het AANTALste "
 "controlepunt"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "de datum voor de volgende '--touch'"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "de uitgevoerde controlepunten en de afsluitwaarde van OPDRACHT tonen"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2763,7 +2825,7 @@ msgstr ""
 "Synchroon uit te voeren acties.  Deze worden uitgevoerd bij het bereiken van "
 "het controlepunt opgegeven met de optie '--checkpoint'."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2771,164 +2833,168 @@ msgstr ""
 "BESTAND afkappen tot de grootte opgegeven met een voorafgaande optie '--"
 "length' (of 0 als niet gegeven)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "BESTAND met GROOTTE aantal bytes vergroten; deze GROOTTE is met een "
 "voorafgaande optie '--length' opgegeven"
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "de toegangs- en wijzigingstijdsstempels van BESTAND bijwerken"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "OPDRACHT uitvoeren"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "BESTAND verwijderen"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ongeldige grootte: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Getal valt buiten toegestaan bereik: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatieve grootte: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "Kan status van %s niet bepalen"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "gevraagde bestandslengte is %lu, werkelijke is %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "aangemaakt bestand is niet luchtig"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fout tijdens getalsontleding, nabij '%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Onbekende datumopmaak"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENTEN]..."
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Kan '%s' niet openen"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "Kan niet springen"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "Bestandsnaam bevat een NUL-teken"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "Onjuist masker (nabij '%s')"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Onbekend veld '%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "Kan tijdsstempel van '%s' niet zetten"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "Kan '%s' niet afkappen"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "Opdracht %s is mislukt"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "Kan '%s' niet verwijderen"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Opdracht is succesvol afgesloten\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Opdracht is mislukt met afsluitwaarde %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Opdracht is afgebroken door signaal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Opdracht is gestopt door signaal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Opdracht resulteerde in een core-dump\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Opdracht is afgebroken\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "Optie '--stat' vereist bestandsnamen"
 
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "Optie '--occurrence' kan niet gebruikt worden met '%s'"
+#~ msgid "same as both -p and -s"
+#~ msgstr "hetzelfde als '-p' en '-s' samen"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "De optie '--preserve' is vervallen; gebruik nu '--preserve-permissions --"
+#~ "preserve-order'."
 
 #~ msgid "Cannot combine --listed-incremental with --newer"
 #~ msgstr "Opties '--listed-incremental' en '--newer' gaan niet samen"
 
-#~ msgid "--verify cannot be used with %s"
-#~ msgstr "Optie '--verify' kan niet gebruikt worden met '%s'"
-
 #~ msgid "--preserve-order is not compatible with --listed-incremental"
 #~ msgstr "Opties '--preserve-order' en '--listed-incremental' gaan niet samen"
 
index 79219f532150c376681a6a8606381ae006da09a3..df8aab6e949eb44ed435740dbab0f4b4e3b5600c 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index 36dd5a1acf862e7f9ac80631ebaec48357470df9..ec97e38529292009df50d1a75ba6647ae98e4aa2 100644 (file)
--- 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, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2016 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
-# Rafał Maszkowski <rzm@icm.edu.pl>, 1996, 1997, 2000, 2001, 2003, 2004, 2006-2011.   „”
+# Rafał Maszkowski <rzm@icm.edu.pl>, 1996, 1997, 2000, 2001, 2003, 2004, 2006-2011, 2016.
 # Thanks to Jakub Bogusz for remarks and corrections, 2003, 2004, 2007, 2008, 2010.
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.26\n"
+"Project-Id-Version: tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2011-03-12 18:25+0100\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-16 18:30+0100\n"
 "Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -19,46 +19,46 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "błędny argument %s opcji %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "niejednoznaczny argument %s opcji %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Prawidłowe argumenty to:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: Parametr ARGP_HELP_FMT musi być dodatni"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Nieznany parametr ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Śmieci w ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -66,143 +66,148 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Składnia:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  albo: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr "[OPCJE...]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+#: gnu/argp-help.c:1688
+#, 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"
+msgstr "Użyj „%s --help” albo „%s --usage” żeby otrzymać więcej informacji.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Raporty o błędach należy wysyłać do %s .\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Nieznany błąd systemu"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "wyświetlenie tego opisu"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "krótka informacja o opcjach"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NAZWA"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "ustawienie nazwy programu"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "poczekaj SEK sekund (domyślnie 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "informacja o wersji programu"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(BŁĄD PROGRAMU) Nieznana wersja!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Za dużo argumentów\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(BŁĄD PROGRAMU) Opcja powinna była być rozpoznana!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "błąd zapisu"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
-#, fuzzy, c-format
+#: gnu/getopt.c:575 gnu/getopt.c:604
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: opcja '%s' jest niejednoznaczna\n"
+msgstr "%s: opcja „%s” jest niejednoznaczna; możliwości:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opcja „%s” jest niejednoznaczna\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: opcja '--%s' nie może mieć argumentu\n"
+msgstr "%s: opcja „--%s” nie może mieć argumentu\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: opcja '%c%s' nie może mieć argumentu\n"
+msgstr "%s: opcja „%c%s” nie może mieć argumentu\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: opcja '--%s' wymaga argumentu\n"
+msgstr "%s: opcja „--%s” wymaga argumentu\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: nierozpoznana opcja '--%s'\n"
+msgstr "%s: nierozpoznana opcja „--%s”\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: nierozpoznana opcja '%c%s'\n"
+msgstr "%s: nierozpoznana opcja „%c%s”\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: błędna opcja -- '%c'\n"
+msgstr "%s: błędna opcja -- „%c”\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: opcja wymaga argumentu -- '%c'\n"
+msgstr "%s: opcja wymaga argumentu -- „%c”\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: opcja '-W %s' jest niejednoznaczna\n"
+msgstr "%s: opcja „-W %s” jest niejednoznaczna\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: opcja '-W %s' nie może mieć argumentu\n"
+msgstr "%s: opcja „-W %s” nie może mieć argumentu\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: opcja '-W %s' wymaga argumentu\n"
+msgstr "%s: opcja „-W %s” wymaga argumentu\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "brak pamięci"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "nie udało się zapisać bieżącego katalogu"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "nie udało się powrócić do początkowego katalogu bieżącego"
@@ -228,13 +233,13 @@ msgstr "nie udało się powrócić do początkowego katalogu bieżącego"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
-msgstr "`"
+msgstr ""
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
-msgstr "'"
+msgstr ""
 
 #. TRANSLATORS: A regular expression testing for an affirmative answer
 #. (english: "yes").  Testing the first character may be sufficient.
@@ -242,9 +247,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
-msgstr "^[yYtT]"
+msgstr "^[TtYy].*"
 
 #. TRANSLATORS: A regular expression testing for a negative answer
 #. (english: "no").  Testing the first character may be sufficient.
@@ -252,16 +257,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
-msgstr "^[nN]"
+msgstr "^[nN].*"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakowane przez %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakowane przez %s\n"
@@ -269,11 +274,11 @@ msgstr "Pakowane przez %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
+#: gnu/version-etc.c:84
 msgid "(C)"
-msgstr "(C)"
+msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -290,19 +295,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Napisany przez %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Napisany przez %s i %s\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Napisany przez %s, %s i %s.\n"
@@ -310,7 +315,7 @@ msgstr "Napisany przez %s, %s i %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +327,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -334,7 +339,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -346,7 +351,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -358,7 +363,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -372,7 +377,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -386,7 +391,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -401,7 +406,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -411,22 +416,22 @@ msgstr ""
 "O błędach programu poinformuj %s\n"
 "O błędach tłumaczenia poinformuj translation-team-pl@lists.sourceforge.net\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Raporty o błędach %s należy wysyłać do %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Strona domowa %s: %s\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Strona domowa %s: http://www.gnu.org/software/%s/\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Informacje o używaniu oprogramowania GNU: http://www.gnu.org/gethelp/\n"
@@ -506,21 +511,21 @@ msgstr[2] "%s: Można było zapisać tylko %lu z %lu bajtów"
 #: lib/paxnames.c:140
 #, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Usunięcie początkowego `%s' z nazw plików"
+msgstr "Usunięcie początkowego „%s” z nazw plików w archiwum"
 
 #: lib/paxnames.c:141
 #, c-format
 msgid "Removing leading `%s' from hard link targets"
 msgstr ""
-"Usunięcie początkowego `%s' z nazw plików wskazywanych przez łącza zwykłe"
+"Usunięcie początkowego „%s” z nazw plików wskazywanych przez łącza zwykłe"
 
 #: lib/paxnames.c:154
 msgid "Substituting `.' for empty member name"
-msgstr "Podstawienie `.' zamiast pustej nazwy"
+msgstr "Podstawienie „.” zamiast pustej nazwy pliku w archiwum"
 
 #: lib/paxnames.c:155
 msgid "Substituting `.' for empty hard link target"
-msgstr "Podstawienie `.' zamiast pustej nazwy wskazywanej przez łącze zwykłe"
+msgstr "Podstawienie „.” zamiast pustej nazwy wskazywanej przez łącze zwykłe"
 
 #: lib/rtapelib.c:299
 #, c-format
@@ -544,14 +549,14 @@ msgstr ""
 "Nie można połączyć się z %s: nie udało się przetłumaczyć nazwy na adres"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Nie można uruchomić zdalnego shella"
+msgstr "Nie można przekierować plików do zdalnej powłoki"
 
 #: lib/rtapelib.c:516
 #, c-format
 msgid "Cannot execute remote shell"
-msgstr "Nie można uruchomić zdalnego shella"
+msgstr "Nie można uruchomić zdalnej powłoki"
 
 #: rmt/rmt.c:432
 msgid "Seek direction out of range"
@@ -559,7 +564,7 @@ msgstr "Sposób ustawiania pozycji w pliku spoza zakresu"
 
 #: rmt/rmt.c:438
 msgid "Invalid seek direction"
-msgstr "Błędne kierunek przesuwania wskaźnika pozycji"
+msgstr "Błędny kierunek przesuwania wskaźnika pozycji"
 
 #: rmt/rmt.c:446
 msgid "Invalid seek offset"
@@ -598,8 +603,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "LICZBA"
 
@@ -607,10 +612,11 @@ msgstr "LICZBA"
 msgid "set debug level"
 msgstr "ustawienie poziomu wypisywania informacji diagnostycznych"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "PLIK"
 
@@ -623,7 +629,7 @@ msgstr "plik do zapisywania informacji diagnostycznych"
 msgid "cannot open %s"
 msgstr "nie można otworzyć %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "za dużo argumentów"
@@ -632,67 +638,66 @@ msgstr "za dużo argumentów"
 msgid "Garbage command"
 msgstr "Bezsensowna komenda"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "To nie wygląda jak archiwum tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Liczba przeczytanych bajtów"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Licza zapisanych bajtów"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Liczba skasowanych bajtów: %s\n"
+msgstr "Liczba skasowanych bajtów"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Odmowa czytania zawartości archiwumn z terminala (brakująca opcja -f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Odmowa pisania zawartości archiwumn do terminala (brakująca opcja -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Błędna wartość record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Nie podana nazwa archiwum"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nie można zweryfikować archiwum z/do stdin/stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archiwum jest skompresowane. Należy użyć opcji %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Nie można uaktualnić archiwum skompresowanego"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Na początku taśmy, teraz kończę"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Za dużo błędów, kończę"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -700,7 +705,7 @@ msgstr[0] "Rozmiar rekordu = %lu blok"
 msgstr[1] "Rozmiar rekordu = %lu bloki"
 msgstr[2] "Rozmiar rekordu = %lu bloków"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -708,38 +713,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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek nie zatrzymał się na granicy rekordów"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: zawiera błędny numer części"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Przepełnienie numeru części"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "EOF kiedy była oczekiwana odpowiedź użytkownika"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 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:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -750,68 +755,68 @@ msgstr ""
 " q             Zakończenie programu tar\n"
 " y albo Enter  Kontynuacja\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Uruchomienie powłoki\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Wypisanie tej listy\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Brak nowej części; zakończenie pracy.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Brak nazwy pliku. Spróbuj jeszcze raz.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, 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:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "%s polecenie zwróciło błąd"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s nie jest kontynuowany w tej części"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s nie jest kontynuowany w tej części"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s to zły rozmiar (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Etykieta archiwum nie pasuje do %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Część %s nie pasuje do %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -819,7 +824,7 @@ msgstr ""
 "%s: nazwa pliku jest za długa do zapisania w nagłówku wieloczęściowego "
 "archiwum GNU, zostanie skrócona"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "zapis nie zakończył się na granicy bloków"
 
@@ -831,20 +836,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Zawartości się różnią"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Nieoczekiwany EOF w archiwum"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Różne typy plików"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Uprawnienia się różnią"
 
@@ -860,7 +865,7 @@ msgstr "Gid się różni"
 msgid "Mod time differs"
 msgstr "Czas modyfikacji się różni"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Rozmiar się różni"
 
@@ -869,37 +874,37 @@ msgstr "Rozmiar się różni"
 msgid "Not linked to %s"
 msgstr "Nie dołączony do %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Łącze symboliczne się różni"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Różnią się numery urządzeń"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Sprawdzanie "
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
-msgstr "%s: Nieznany typ pliku `%c' porównywany jako zwykły plik"
+msgstr "%s: Nieznany typ pliku „%c”, porównywany jako zwykły plik"
 
-#: src/compare.c:529
+#: src/compare.c:533
 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:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Archiwum zawiera zmienione nazwy plików."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Podczas weryfikacji mogą nie być znalezione pliki lokalne"
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -907,48 +912,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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Samotny blok zerowy przy %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, 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:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Tworzenie ujemnych nagłówków ósemkowych"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, 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:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -956,55 +961,55 @@ 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "zawartość nie została zapisana"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Nieznany typ pliku; plik zignorowany"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Brakujące łącza do %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: plik jest niezmieniony; nie został zapisany"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: plik jest w tym archiwum; nie został zapisany"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "katalog nie został zapisany"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: plik zmienił się w trakcie czytania"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: zignorowane gniazdo z nazwą"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: zignorowany plik door"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Przeskoczenie do następnego nagłówka"
 
@@ -1022,54 +1027,54 @@ msgstr "%s: niemożliwie stara data %s"
 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:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Nieoczekiwana niespójność przy zakładaniu katalogu"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s: pominięcie istniejącego pliku"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Odtwarzanie plików ciągłych (nie sparse) jako zwykłych"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Próba odtworzenia łącza symbolicznego jako zwykłego"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Niespodziewany nagłówek z długą nazwą"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "%s: Nieznany typ pliku `%c', odtworzony jako plik zwykły"
+msgstr "%s: Nieznany typ pliku „%c”, odtworzony jako plik zwykły"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Aktualny %s jest nowszy albo w tym samym wieku"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, 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:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Nie można przemianować %s na %s"
@@ -1085,9 +1090,9 @@ msgid "%s: Directory is new"
 msgstr "%s: Katalog jest nowy"
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: plik w innym systemie plików; nie został zapisany"
+msgstr "%s: kataolog w innym systemie plików; nie został zapisany"
 
 #: src/incremen.c:587
 #, c-format
@@ -1099,9 +1104,8 @@ msgid "Invalid time stamp"
 msgstr "Błędny czas pliku"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "Błędny czas modyfikacji (sekundy)"
+msgstr "Błędny czas modyfikacji"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
@@ -1118,131 +1122,133 @@ msgstr "Błędny numer inodu"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: bajt %s: %s %.*s… - za długie"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Nieoczekiwany EOF w pliku migawkowym"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: bajt %s: %s %s po którym jest błędny bat 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: bajt %s: (dozwolony zakres %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: bajt %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: bajt %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Brakujące zakończenie rekordu"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Zły format pliku przyrostowego"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nie obsługiwana wersja formatu przyrostowego: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr "Zły format katalogu zrzutów: oczekiwano '%c', znaleziono %#3o"
+msgstr "Zły format katalogu zrzutów: oczekiwano „%c”, znaleziono %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr "Zły format katalogu zrzutów: powtórzone 'X'"
+msgstr "Zły format katalogu zrzutów: powtórzone „X”"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "Zły format katalogu zrzutów: pusta nazwa w 'R'"
+msgstr "Zły format katalogu zrzutów: pusta nazwa w „R”"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr "Zły format katalogu zrzutów: 'T' nie jest poprzedzone przez 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
+msgstr "Zły format katalogu zrzutów: „T” nie jest poprzedzone przez „R”"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Zły format katalogu zrzutów: pusta nazwa w 'T'"
+msgstr "Zły format katalogu zrzutów: pusta nazwa w „T”"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr "Zły format katalogu zrzutów: oczekiwano '%c', znaleziono koniec danych"
+msgstr "Zły format katalogu zrzutów: oczekiwano „%c”, znaleziono koniec danych"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
-msgstr "Zły format katalogu zrzutów: nigdy nie użyte 'X'"
+msgstr "Zły format katalogu zrzutów: nigdy nie użyte „X”"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, 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:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Bez skasowania katalogu: nie można odczytać stanu"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: katalog na innym urządzeniu: bez skasowania"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Usunięcie %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Nie można usunąć"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Pominięty"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok zer **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok: %s: ** Koniec pliku **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1250,87 +1256,87 @@ msgstr ""
 "jak uzupełnienie dwójkowe"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiwum zawiera przestarzałe nagłówki base64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " łącze do %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nieznany typ pliku %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Długie łącze--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Długa nazwa--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Nagłówek części--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Kontynuacja od bajtu %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Tworzony jest katalog:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Nazwa %s zmieniona na %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Nie można przemianować na %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Nazwa zmieniona z %s z powrotem na %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Plik usunięty zanim został przeczytany"
@@ -1343,31 +1349,194 @@ msgstr "proces potomny"
 msgid "interprocess channel"
 msgstr "kanał między procesami"
 
-#: src/names.c:360
-#, fuzzy
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Wybór lokalnej nazwy pliku:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "KATALOG"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "przejście do KATALOGU"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "nazwy plików do rozpakowania lub spakowania z PLIKU"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T czyta nazwy zakończone zerem, włącza --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "wyłączenie efektu użycia opcji --null"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+"usunięcie znaków cytowania z nazwy pliku wejściowego lub plików w archiwum "
+"(domyślnie)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+"bez usuwania znaków cytowania z nazwy pliku wejściowego lub plików w archiwum"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "z opcją -T - czytanie nazw plików dosłownie (bez uwzględniania opcji)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+"z opcją -T - traktowanie nazw plików zaczynających się od myślnika jako "
+"opcji (domyślnie)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "WZORZEC"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "wykluczenie nazw pasujących do WZORCA"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "wykluczenie nazw pasujących do wzorców w PLIKU"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"wykluczenie katalogów zawierających znacznik pamięci podręcznej CACHEDIR."
+"TAG, oprócz samych plików znacznika"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG i ich podkatalogów"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "wykluczenie katalogów zawierających PLIK, ale nie samego PLIKU"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+"czytanie wzorców pomijania dla każdego katalogu z PLIKU, jeżeli istnieje"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"czytanie wzorców pomijania dla każdego katalogu i jego podkatalogów z PLIKU, "
+"jeżeli istnieje"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "wykluczenie katalogów zawierających PLIK i ich podkatalogów"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "wykluczenie katalogów zawierających PLIK"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "wykluczenie katalogów systemu administrowania wersjami"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+"czytanie wzorców pomijania z analogicznych plików systemów zarządzania "
+"wersjami (VCS)"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "wykluczenie plików kopii zapasowych i rezerwacji zasobów"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "zagłębianie się w podkatalogi (domyślnie)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "bez automatycznego zagłębiania się w katalogi"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "nazwy porównywane od początków nazw plików"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "wzorce odnoszą się do nazw po każdym „/” (domyślnie)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "traktowanie tak samo małych i wielkich liter"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "odróżnianie małych i wielkich liter (domyślnie)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "używanie wildcards (domyślnie dla wykluczania)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "dosłowne porównywanie napisów"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "wildcards są porównywane z „/” (domyślnie dla wykluczania)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "wildcards nie są porównywane z „/”"
+
+#: src/names.c:768
 msgid "command line"
-msgstr "%s polecenie zwróciło błąd"
+msgstr "linia polecenia"
 
-#: src/names.c:378
-#, fuzzy, c-format
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: lista plików już przeczytana"
+msgstr "%s: lista plików żądana z %s już przeczytana z %s"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "nie można ustawić czasu na `%s'"
+msgstr "nie można podzielić napisu „%s”: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: przeczytana nazwa pliku zawiera znak NUL"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "W nazwach plików użyto znaków dopasowania wzorców"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1375,56 +1544,55 @@ msgstr ""
 "Użyj --wildcards aby włączyć porównywanie wzorców albo --no-wildcards żeby "
 "wyłączyć to ostrzeżenie"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nie znalazłem w archiwum"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Brak podanego wystąpienia pliku w archiwum"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Nie pasująca etykieta archiwum"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 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:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Opcje `-%s' i `-%s' obie chcą dostępu do standardowego wejścia"
+msgstr "Opcje „%s” i „%s” obie chcą dostępu do standardowego wejścia"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Błędny format archiwum"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Próba użycia rozszerzeń GNU z niekompatybilnym formatem archiwum"
 
-#: src/tar.c:264
-#, fuzzy, c-format
+#: src/tar.c:265
+#, c-format
 msgid ""
 "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ć "
+"Nieznany styl cytowania „%s”. Użyj „%s --quoting-style=help” żeby zobaczyć "
 "listę."
 
-#: src/tar.c:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1434,7 +1602,7 @@ 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 ""
-"`tar' GNU zapisuje wiele plików razem na na jednej taśmie lub archiwum "
+"tar GNU zapisuje wiele plików razem na na jednej taśmie lub archiwum "
 "dyskowym i może odzyskać poszczególne pliki z archiwum.\n"
 "\n"
 "Przykłady:\n"
@@ -1443,8 +1611,7 @@ msgstr ""
 "tar.\n"
 "  tar -xf archive.tar          # rozpakowanie plików z archive.tar.\n"
 
-#: src/tar.c:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1455,7 +1622,7 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"Przyrostek kopii zapasowej to `~', jeżeli nie został zmieniony przez --"
+"Przyrostek kopii zapasowej to „~”, jeżeli nie został zmieniony przez --"
 "suffix\n"
 "lub SIMPLE_BACKUP_SUFFIX.  Sposób zarządzania wersjami może być zmieniony "
 "przez\n"
@@ -1467,79 +1634,87 @@ msgstr ""
 "proste\n"
 "  never, simple   proste kopie zapasowe\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Podstawowe tryby działania:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "wypisanie zawartości archiwum"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "rozpakowanie plików z archiwum"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "utworzenie nowego archiwum"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "sprawdzenie różnic między archiwum i plikami na dysku"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "dołączenie plików na końcu archiwum"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "dołączenie tylko plików nowszych niż kopie w archiwum"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "dołączenie plików tar do archiwum"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "skasowanie plików z archiwum (nie na taśmie!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "przetestowanie etykiety archiwum i wyjście"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modyfikatory działania:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "efektywne przetwarzanie plików rzadkich"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TYP"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "technika wykrywania dziur"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "backup przyrostowy w starym formacie GNU"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "backup przyrostowy w nowym formacie GNU"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "numer poziomu tworzonej albo oglądanej przyrostowej kopii zapasowej"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "bez zakończenia błędem jeżeli niedostępne pliki"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1551,143 +1726,153 @@ msgstr ""
 "plików jest podana w linii poleceń albo przez opcję -T. LICZBA domyślnie "
 "wynosi 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "archiwum o swobodnym dostępie"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "archiwum bez swobodnego dostępu"
 
-#: src/tar.c:469
+#: src/tar.c:447
 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:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "ze sprawdzaniem numerów urządzeń przy tworzeniu archiwów przyrostowych"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Sterowanie zamazywaniem"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "próba weryfikacji archiwum po zapisaniu"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "usunięcie plików po dodaniu do archiwum"
 
-#: src/tar.c:485
-#, fuzzy
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "bez zamazania istniejących plików rozpakowanymi"
+msgstr ""
+"bez zamazania istniejących plików rozpakowanymi, uznawanie prób zamazania za "
+"błąd"
 
-#: src/tar.c:488
-#, fuzzy
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "bez zamazania istniejących plików rozpakowanymi"
+msgstr ""
+"bez zamazania istniejących plików rozpakowanymi, pomijanie ich bez komunikatu"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "nadpisywanie istniejących plików"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "usunięcie każdego pliku przed zamazaniem go rozpakowanym plikiem"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "opróżnianie starych katalogów przed rozpakowaniem kopii z archiwum"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "zachowanie metadanych istniejących katalogów"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "nadpisywanie metadanych istniejących katalogów przy rozpakowywaniu "
 "(domyslnie)"
 
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "nadpisywanie istniejących plików"
-
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "KATALOG"
+msgstr "zachowanie istniejących łącz symbolicznych przez rozpakowywaniu"
 
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "tworzenie katalogu dla uniknięcia utraty rozpakowywanych plików"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Wybór strumienia wyjściowego"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "rozpakowanie plików na standardowe wyjście"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "POLECENIE"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "przekazanie rozpakowywanych plików do innego programu"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "zignorowanie kodów wyjścia procesów potomnych"
 
-#: src/tar.c:522
+#: src/tar.c:500
 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:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Przetwarzanie atrybutów plików:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "nadanie właściciela NAZWA dodanym plikom"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "nadanie grupy NAZWA dodanym plikom"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "użycie PLIKU do konwersji identyfikatorów i nazw właścicieli plików"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+"użycie PLIKU do konwersji identyfikatorów i nazw grup właścicieli plików"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATA_ALBO_PLIK"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "ustawianie czasu modyfikacji dodanych plików z DATA_ALBO_PLIK"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ZMIANY"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "ZMIANA uprawnień dodanych plików (podanych symbolicznie)"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODA"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1697,11 +1882,11 @@ msgstr ""
 "czytaniu (METODA='replace'; domyślnie) albo przez nieustawianie czasu "
 "(METODA='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "bez odtworzenia czasu modyfikacji rozpakowanego pliku"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1709,22 +1894,22 @@ msgstr ""
 "staranie się o odtworzenie właścicieli plików według zapisu w archiwum "
 "(domyślnie dla superusera)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 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:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "używanie numerów, nie nazw użytkowników/grup"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "odtworzenie informacji o uprawnieniach plików (domyślnie dla superusera)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1732,16 +1917,14 @@ msgstr ""
 "użycie umask użytkownika przy odtwarzaniu uprawnień z archiwum (domyślnie "
 "dla zwykłych użytkowników)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
+"nazwy plików do rozpakowania z archiwum są podane w takim porządku w jakim "
+"są w archiwum"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "to samo co równocześnie -p i -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1749,188 +1932,188 @@ msgstr ""
 "ustawianie czasów zmian i uprawnień odtworzonych katalogów opóźnione do "
 "końca rozpakowywania"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "wyłączenie efektu opcji --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "KOLEJNOŚĆ"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
+"kolejność sortowania katalogów: none (żadna, domyślnie) albo name (nazwa)"
 
-#: src/tar.c:578
-#, fuzzy
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr "Przetwarzanie atrybutów plików:"
+msgstr "Przetwarzanie roszerzonych atrybutów plików:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Włączenie przetwarzania rozszerzonych atrybutów plików"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Wyłączenie przetwarzania rozszerzonych atrybutów plików"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MASKA"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "wzorzec uwzględniania kluczy xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "wzorzec pomijania kluczy xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Włączenie przetwarzania kontekstu SELinuxa"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Wyłączenie przetwarzania kontekstu SELinuxa"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Włączenie przetwarzania ACL w standardzie POSIX"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Wyłączenie przetwarzania ACL w standardzie POSIX"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Wybór i przełączanie urządzeń:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIWUM"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "użycie pliku lub urządzenia ARCHIWUM"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "plik archiwum lokalny, nawet jeżeli ma dwukropek"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "użyj POLECENIA zamiast /etc/rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "użyj POLECENIA zamiast rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "podanie napędu i gęstości"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "tworzenie/wypisanie/rozpakowanie archiwum wieloczęściowego"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "zmiana taśmy po zapisaniu LICZBA x 1024 bajtów"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "uruchomienie skryptu na końcu taśmy (włącza -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "użycie/uaktualnienie numeru części w PLIKU"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Parametry bloków:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKI"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKI x 512 bajtów na rekord"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "LICZBA bajtów w rekordzie, wielokrotność 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignorowanie wyzerowanych bloków w archiwum (oznacza EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "podzielenie na bloki przy odczycie (dla pipe 4.2BSD)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Wybór formatu archiwum:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "utworzenie archiwum w danym formacie."
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT może być jednym z następujących:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "stary format tara z V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "format GNU dla tara <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "format tara GNU 1.13"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "format POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "format POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "to samo co pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "to samo co --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "to samo co --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "słowo_kluczowe[[:]=wartość][,słowo_kluczowe[[:]=wartość]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "ustawianie słów kluczowych formatu pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEKST"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1938,290 +2121,143 @@ msgstr ""
 "utworzenie archiwum z nazwą wolumenu TEKST. Przy wypisywaniu/rozpakowaniu "
 "TEKST będzie użyty jako wzorzec dopasowania dla nazwy"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Opcje kompresji"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "użycie przyrostka nazwy archiwum do ustalenia programu kompresującego"
 
-#: src/tar.c:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROGRAM"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtrowanie przez PROGRAM (akceptujący -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Wybór plików lokalnych:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "przejście do KATALOGU"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "nazwy plików do rozpakowania lub spakowania z PLIKU"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T czyta nazwy zakończone zerem, wyłącz -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "wyłączenie efektu użycia opcji --null"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr ""
-"usunięcie znaków cytowania z nazw plików czytanych poprzez opcję -T "
-"(domyślnie)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "bez usuwania znaków cytowania z nazw plików czytanych poprzez opcję -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "WZORZEC"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "wykluczenie nazw pasujących do WZORCA"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "wykluczenie nazw pasujących do wzorców w PLIKU"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"wykluczenie katalogów zawierających znacznik pamięci podręcznej CACHEDIR."
-"TAG, oprócz samych plików znacznika"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG i ich podkatalogów"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "wykluczenie katalogów zawierających PLIK i ich podkatalogów"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "wykluczenie katalogów zawierających PLIK"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "wykluczenie katalogów systemu administrowania wersjami"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "wykluczenie plików kopii zapasowych i rezerwacji zasobów"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "bez automatycznego zagłębiania się w katalogi"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "pozostanie w jednym systemie plików"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "zagłębianie się w podkatalogi (domyślnie)"
-
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
-msgstr "bez usuwania początkowego `/' z nazw plików"
+msgstr "bez usuwania początkowego „/” z nazw plików"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "archiwizacja plików, na które wskazują łącza symboliczne"
 
-#: src/tar.c:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "NAZWA-PLIKU"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "zaczęcie od pliku NAZWA-PLIKU w archiwum"
+msgstr "zaczęcie od pliku NAZWA-PLIKU w czasie czytania archiwum"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "zapisanie tylko plików nowszych niż DATA albo data PLIKU"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "porównywanie daty i czasu tylko dla zmienionych danych"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "TRYB"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "kopia zapasowa przed usunięciem, wybranie TRYBU zarządzania wersjami"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "NAPIS"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
-"kopia zapasowa przed usunięciem, zmiana domyślnego przyrostka ('~', jeżeli "
+"kopia zapasowa przed usunięciem, zmiana domyślnego przyrostka („~”, jeżeli "
 "nie zmieniony przez zmienną środowiska SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Zmiany nazwy plików:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "WYRAŻENIE"
 
-#: src/tar.c:786
+#: src/tar.c:718
 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:792
-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:795
-msgid "ignore case"
-msgstr "traktowanie tak samo małych i wielkich liter"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "nazwy porównywane od początków nazw plików"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "wzorce odnoszą się do nazw po każdym / (domyślnie)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "odróżnianie małych i wielkich liter (domyślnie)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "używanie wildcards (domyślnie dla wykluczania)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "dosłowne porównywanie napisów"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "wildcards nie są porównywane z `/'"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "wildcards są porównywane z '/' (domyślnie dla wykluczania)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informacje:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "wypisywanie szczegółów o przetwarzanych plikach"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "SŁOWO KLUCZOWE"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "sterowanie ostrzeżeniami"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "wypisywanie co ILE rekordów informacji o przetwarzaniu (domyslnie co 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "AKCJA"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "wykonanie AKCJI przy każdym punkcie kontrolnym"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "wypisanie komunikatu jeżeli nie wszytkie łącza zostały zapisane"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SYGNAŁ"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2233,35 +2269,35 @@ msgstr ""
 "sygnały: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2; nazwy bez prefiksu SIG "
 "są też akceptowane"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "wypisanie czasów modyfikacji plików w UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "wypisanie czasu pliku z pełną dokładnością"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "zapisanie dokładnych informacji w PLIKU"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "pokazanie przy każdym komunikacie numeru bloku w archiwum"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "proszenie o potwierdzenie każdego działania"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "wypisanie domyślnych ustawień tar-a"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "pokazanie zakresów dozwolonych wartości pól danych kopii przyrostowej"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2269,33 +2305,33 @@ msgstr ""
 "wypisywanie każdego katalogu nie pasującego do kryteriów szukania przy "
 "wypisywaniu albo rozpakowywaniu archiwum"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "pokazanie nazw plików albo archiwów po przeszktałceniu"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STYL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "dodatkowe ujmowanie w znaki cytowania znaków z ŁAŃCUCHA"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "wyłączenie ujmowania w znaki cytowania znaków z ŁAŃCUCHA"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Opcje kompatybilności:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2303,56 +2339,63 @@ msgstr ""
 "przy tworzeniu: to samo co --old-archive przy odtwarzaniu: to co --no-same-"
 "owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Inne opcje:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "wyłączenie używania potencjalnie szkodliwych opcji"
 
-#: src/tar.c:1010
-#, fuzzy
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "opcja „%s” nie może być użyta z opcją „%s”"
+
+#: src/tar.c:934
 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'"
+"Nie można podać więcej niż jednej opcji z „-Acdtrux”, „--delete” albo „--"
+"test-label”"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Niezgodne opcje kompresji"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nieznana nazwa sygnału: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Nie znaleziono pliku z datą"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Postawienie %s w miejscu nieznanego formatu daty %s"
 
-#: src/tar.c:1140
-#, fuzzy, c-format
+#: src/tar.c:1066
+#, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr "Opcja %s: Potraktowanie daty `%s' jako %s"
+msgstr "Opcja %s: Potraktowanie daty „%s” jako %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtrowanie archiwum przez %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Prawidłowe argumenty dla opcji --quoting-style:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2360,117 +2403,120 @@ msgstr ""
 "\n"
 "*Ten* tar ma domyślne parametry:\n"
 
-#: src/tar.c:1330
-#, fuzzy
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
-msgstr "Błędny właściciel"
+msgstr "Błędny identyfikator właściciela lub grupy"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Błędny współczynnik łączenia w bloki"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Błędna długość taśmy"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Błędny numer poziomu przyrostowej kopii zapasowej"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Więcej niż jedna data graniczna"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Błędna wartość wersji plików rzadkich"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "ten system nie pozwala na użycie --atime-preserve='system'"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "wartość --checkpoint nie jest liczbą całkowitą"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Błędne uprawnienia podane w opcji"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Błędny numer"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Opcja --preserve jest przestarzała, zamiast niej użyj --preserve-permissions "
-"--preserve-order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Błędna wielkość rekordu"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Rozmiar rekordu musi być wielokrotnością %d"
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Błędna ilość elementów"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Wolno użyć tylko jednej opcji polecenia --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Błędna specyfikacja gęstości: %s"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
-msgstr "Nieznana gęstość: `%c'"
+msgstr "Nieznana gęstość: „%c”"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "Opcje `-[0-7][lmh]' nie są używane w *tym* tarze"
+msgstr "Opcje „-[0-7][lmh]” nie są dostępne w *tym* tarze"
+
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: lokalizacja błędu"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "błąd przetwarzania %s"
 
-#: src/tar.c:2235
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[PLIK]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Nie może być użyty wzorzec %s"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "argumenty nie będące opcjami w %s"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "nie można rozdzielić TAR_OPTIONS: %s"
 
-#: src/tar.c:2389
-#, fuzzy, c-format
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
-msgstr "Stara opcja `%c' wymaga argumentu."
+msgstr "Stara opcja „%c” wymaga argumentu."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence nie ma znaczenia bez listy plików"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
-msgstr "Archiwum składające się z wielu plików wymaga opcji `-M'"
+msgstr "Archiwum składające się z wielu plików wymaga opcji „-M”"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "opcja --level nic nie znaczy bez użycia --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2478,74 +2524,77 @@ 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Nie można zweryfikować archiwum wieloczęściowego"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Nie można zweryfikować archiwum skompresowanego"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nie można używać wieloczęściowego archiwum skompresowanego"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Nie można połączyć skompresowanych archiwów"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
-msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych"
+msgstr "Opcja --pax-option może być użyta tylko do archiwów POSIX-owych"
 
-#: src/tar.c:2560
-#, fuzzy
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych"
+msgstr "Opcja --acls może być użyta tylko do archiwów POSIX-owych"
 
-#: src/tar.c:2565
-#, fuzzy
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych"
+msgstr "Opcja --selinux może być użyta tylko do archiwów POSIX-owych"
 
-#: src/tar.c:2570
-#, fuzzy
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych"
+msgstr "Opcja --xattrs może być użyta tylko do archiwów POSIX-owych"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Nie udało się wydedukować głównego katalogu; proszę ustawić go wprost opcją "
+"--one-top-level=KATALOG"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 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:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Tchórzliwie odmawiam utworzenia pustego archiwum"
 
-#: src/tar.c:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
-msgstr "Opcje `-Aru' są niekompatybilne z `-f -'"
+msgstr "Opcje „-Aru” są niekompatybilne z „-f -”"
 
-#: src/tar.c:2766
-#, fuzzy
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Musisz podać jedną z opcji `-Acdtrux' albo `--test-label'"
+msgstr "Trzeba podać jedną z opcji „-Acdtrux”, „--delete” albo „--test-label”"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, 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/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
+"kolejność sortowania katalogów: none (żadna, domyślnie), name (nazwa) albo "
+"inode"
 
 #: src/update.c:87
 #, c-format
@@ -2596,11 +2645,11 @@ msgid "Malformed extended header: missing newline"
 msgstr "Błędny nagłówek rozszerzony: brakuje znaku mowej linii"
 
 #: src/xheader.c:741
-#, fuzzy, c-format
+#, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr "Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego `%s'"
+msgstr "Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego „%s”"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2609,27 +2658,27 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Błędny nagłówek rozszerzony: błędny %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Błędny nagłówek rozszerzony: nadmiarowe %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, 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"
@@ -2668,9 +2717,9 @@ msgstr "Punkt kontrolny zapisu %u"
 #: src/checkpoint.c:224
 #, c-format
 msgid "Read checkpoint %u"
-msgstr "Punkt kontrolny czytania %u"
+msgstr "Punkt kontrolny odczytu %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2678,69 +2727,73 @@ msgstr ""
 "genfile służy do operacji na plikach w ramach zestawu testów GNU paxutils.\n"
 "OPCJE:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Opcje tworzenia plików:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "ROZMIAR"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Utworzenie pliku o podanym ROZMIARZE"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Pisanie na pliku NAZWA zamiast na standardowe wyjście"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Czytanie nazw plików z PLIKU"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T czyta nazwy zakończone zerem"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
-msgstr "Wypełnienie pliku podanym WZORCEM. WZORZEC to 'default' albo 'zeros'"
+msgstr "Wypełnienie pliku podanym WZORCEM. WZORZEC to „default” albo „zeros”"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Rozmiar bloku pliku rzadkiego"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Utworzenie pliku rzadkiego. Reszta argumentów określa mapę pliku."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "POZYCJA"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Ustawienie pozycji zapisu przez zapisem danych"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Opcje statystyki plików"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Wypisanie zawartości  struct stat  dla każdego podanego pliku. Domyślny "
 "FORMAT: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Opcje równoczesnego wykonywania:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPCJA"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2748,20 +2801,20 @@ msgstr ""
 "Wykonanie ARGUMENTÓW. Przydatne z --checkpoint i jednym z --cut, --append, --"
 "touch albo --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Wykonanie podanej akcji (zobacz niżej) po napotkaniu punktu kontrolnego NUMER"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Ustaw datę następnej opcji --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Wypisanie wykonanych punktów kontrolnych i kodu wyjścia POLECENIA"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2769,7 +2822,7 @@ msgstr ""
 "Akcje równoczesnego wykonania. Są podejmowane po osiągnięciu punktu "
 "kontrolnego o numerze podanym przez opcję --checkpoint"
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2777,181 +2830,160 @@ msgstr ""
 "Obcięcie PLIKU do rozmiaru podanego przez poprzednia opcję --length (albo 0, "
 "jeżeli nie został podany)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Dodanie ROZMIAR bajtów do PLIKU. ROZMIAR jak podany przez poprzednią opcję --"
 "length."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Uaktualnienie czasów dostepu i modyfikacji PLIKU"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Wykonanie POLECENIA"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Usunięcie PLIKU"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Błędny rozmiar: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Liczba spoza dozwolonego zakresu: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Ujemny rozmiar: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "błąd stat(%s)"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "żądana długość pliku %lu, faktyczna %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "utworzony plik nie jest rzadki"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
-msgstr "Błąd przetwarzania liczby blisko `%s'"
+msgstr "Błąd przetwarzania liczby blisko „%s”"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Nieznany format daty"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENTY...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
-msgstr "nie można otworzyć `%s'"
+msgstr "nie można otworzyć „%s”"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "nie można ustawić pozycji"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "nazwa pliku zawiera znak NUL"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr "nieprawidłowa maska (koło `%s')"
+msgstr "nieprawidłowa maska (koło „%s”)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
-msgstr " Nieznane pole `%s'"
+msgstr " Nieznane pole „%s”"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "nie można ustawić czasu na `%s'"
+msgstr "nie można ustawić czasu na „%s”"
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "nie można usunąć `%s'"
+msgstr "nie można skrócić „%s”"
 
-#: tests/genfile.c:701
-#, fuzzy, c-format
+#: tests/genfile.c:769
+#, c-format
 msgid "command failed: %s"
-msgstr "%s polecenie zwróciło błąd"
+msgstr "polecenie zwróciło błąd: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
-msgstr "nie można usunąć `%s'"
+msgstr "nie można usunąć „%s”"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Polecenie zakończyło się poprawnie\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Polecenie zakończyło się niepoprawnie z kodem %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Polecenie zostało zakończone sygnałem %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Polecenie zostało zatrzymane sygnałem %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Został zapisany obraz pamięci (core dump) polecenia\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Polecenie zakończone\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat wymaga podania nazwy pliku"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "pliki do rozpakowania posortowane jak w archiwum"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence nie może być użyte w tym trybie"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Nie można połączyć --listed-incremental z --newer"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "opcja --preserve-order nie może być używana z --listed-incremental"
-
-#~ 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 "Cannot get working directory"
-#~ msgstr "Nie można odczytać bieżącego katalogu"
-
-#~ msgid "Invalid group"
-#~ msgstr "Błędna grupa"
+#~ msgid "same as both -p and -s"
+#~ msgstr "to samo co równocześnie -p i -s"
 
-#~ msgid "Extended header length is out of allowed range"
-#~ msgstr "Długość nagłówka rozszerzonego jest poza dozwolonym zakresem"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Opcja --preserve jest przestarzała, zamiast niej użyj --preserve-"
+#~ "permissions --preserve-order"
index 8369855bd4b90e8222ebfb55c9ce954e3490202e..0ea804b4ff99ea3572cfd2281b86c51f27318492 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index 7de4fbf37b4cbb7552b3c5df51f15c01895607fa..f34a67215ff743a09189398a319d7996f6ba8cff 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -2,12 +2,12 @@
 # Copyright (1995) Free Software Foundation, Inc.
 # António José Coutinho <ajc@di.uminho.pt>
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.11.9\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 1996-04-20 21:50\n"
 "Last-Translator: António José Coutinho <ajc@di.uminho.pt>\n"
 "Language-Team: Portuguese <pt@li.org>\n"
@@ -16,46 +16,46 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, fuzzy, c-format
 msgid "invalid argument %s for %s"
 msgstr "Formato de data inválido \"%s\""
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr ""
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr ""
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr ""
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 #, fuzzy
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
@@ -64,147 +64,152 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr ""
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr ""
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 #, fuzzy
 msgid " [OPTION...]"
 msgstr ""
 "\n"
 "Forma de usar: %s [OPÇÃO]...\n"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Para mais informação, tente \"%s --help\".\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Erro desconhecido, do sistema"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr ""
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr ""
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr ""
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr ""
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr ""
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr ""
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr ""
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 #, fuzzy
 msgid "write error"
 msgstr "Escreve-se registo\n"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "A antiga opção `%c' exige um argumento."
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "A antiga opção `%c' exige um argumento."
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr ""
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr ""
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "A antiga opção `%c' exige um argumento."
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr ""
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "A antiga opção `%c' exige um argumento."
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr ""
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Não se conseguiu determinar a directoria corrente"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr ""
@@ -230,11 +235,11 @@ msgstr ""
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr ""
 
@@ -244,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr ""
 
@@ -254,16 +259,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -271,11 +276,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -286,19 +291,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -306,7 +311,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -316,7 +321,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -326,7 +331,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +341,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -346,7 +351,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -357,7 +362,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -368,7 +373,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -380,29 +385,29 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -578,8 +583,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr ""
 
@@ -587,10 +592,11 @@ msgstr ""
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr ""
 
@@ -603,7 +609,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "Não se consegue abrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -612,116 +618,116 @@ msgstr ""
 msgid "Garbage command"
 msgstr "Comando desconhecido"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Isto  não se parece a um arquivo \"tar\""
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 #, fuzzy
 msgid "Total bytes read"
 msgstr "Número total de de \"bytes\" escritos: %d\n"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Número total de de \"bytes\" escritos: %d\n"
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Número total de de \"bytes\" escritos: %d\n"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr ""
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Valor inválido para tamanho de registo (record_size)"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 #, fuzzy
 msgid "No archive name given"
 msgstr "Não deram nome de arquivo, que  fazer?"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Não se pode  de verificar arquivos stdin ou stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 #, fuzzy
 msgid "Cannot update compressed archives"
 msgstr "Não se pode actualizar o verificar um arquivo comprimido"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "No princípio da fita, pára-se imediatamente"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Erros de mais: termina-se"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 #, 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr ""
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr ""
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr ""
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "ATENÇÃO: O arquivo está incompleto"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -733,71 +739,71 @@ msgstr ""
 " !          Criar uma \"sub-shell\" (interpretador de comandos)\n"
 " ?          Escrever esta lista\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Não há novo volume; termina-se. \n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr ""
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s não tem continuidade neste volume"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, 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:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volume está fora da sequência"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, 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:1632
+#: src/buffer.c:1664
 #, fuzzy, c-format
 msgid "Volume %s does not match %s"
 msgstr "O volume não condiz!  %s!=%s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 #, fuzzy
 msgid "write did not end on a block boundary"
 msgstr ""
@@ -810,22 +816,22 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 #, fuzzy
 msgid "Contents differ"
 msgstr "Tempo de modificação"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Fim de ficheiro inesperado no arquivo"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 #, fuzzy
 msgid "File type differs"
 msgstr "%s: Ligação (\"link\") simbólica é diferente\n"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr ""
 
@@ -844,7 +850,7 @@ msgstr "%s: %s diferente\n"
 msgid "Mod time differs"
 msgstr "Tempo de modificação"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 #, fuzzy
 msgid "Size differs"
 msgstr "%s: Ligação (\"link\") simbólica é diferente\n"
@@ -854,143 +860,143 @@ msgstr "%s: Liga
 msgid "Not linked to %s"
 msgstr "%s: Não está ligado a %s\n"
 
-#: src/compare.c:289
+#: src/compare.c:290
 #, fuzzy
 msgid "Symlink differs"
 msgstr "%s: Ligação (\"link\") simbólica é diferente\n"
 
-#: src/compare.c:318
+#: src/compare.c:322
 #, fuzzy
 msgid "Device number differs"
 msgstr "%s: Os números do periférico mudaram\n"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verificação"
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, fuzzy, c-format
 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr ""
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr ""
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr ""
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr ""
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 
-#: src/create.c:638
+#: src/create.c:639
 #, 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:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (imagem da memória despejada \"core dumped\")"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipo de ficheiro desconhecido; ficheiro ignorado"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr " ligação para %s\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, fuzzy, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: não foi modificado; não será arquivado"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, fuzzy, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s é o arquivo; não será arquivado"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr ""
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr ""
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr ""
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Salta para próximo cabeçalho"
 
@@ -1008,60 +1014,60 @@ msgstr ""
 msgid "%s: time stamp %s is %s s in the future"
 msgstr ""
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr ""
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr ""
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Estão-se a extrair ficheiros contíguos como sendo ficheiros normais"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 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:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Fim de ficheiro inesperado no ficheiro de arquivo"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, fuzzy, c-format
 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr ""
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Não se consegue mudar o nome de %s para %s"
@@ -1111,216 +1117,216 @@ msgstr ""
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Fim de ficheiro inesperado no ficheiro de arquivo"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Não se pode mudar para a directoria %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr ""
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Apaga-se  %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, fuzzy, c-format
 msgid "%s: Cannot remove"
 msgstr "Não se consegue apagar %s"
 
-#: src/list.c:217
+#: src/list.c:219
 #, fuzzy, c-format
 msgid "%s: Omitting"
 msgstr "Omite-se %s"
 
-#: src/list.c:235
+#: src/list.c:237
 #, fuzzy, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloco %10ld: ** Bloco de NULs **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, fuzzy, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloco %10ld: ** Fim-de-ficheiro **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, fuzzy, c-format
 msgid "block %s: "
 msgstr "bloco %10ld: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr ""
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " ligação para %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, fuzzy, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo de ficheiro desconhecido \"%c\"\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabeçalho de volume--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, fuzzy, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua no \"byte\" %ld--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Criação de directoria::"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, fuzzy, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Mudou-se o nome %s para %s"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, fuzzy, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "Não se consegue mudar o nome de %s para %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, fuzzy, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Mudou-se o nome %s para %s"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr ""
@@ -1333,81 +1339,231 @@ msgstr ""
 msgid "interprocess channel"
 msgstr ""
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Arquivo para stdin"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr ""
+
+#: src/names.c:73
+#, fuzzy
+msgid "change to directory DIR"
+msgstr "Não se pode mudar para a directoria %s"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr ""
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr ""
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr ""
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr ""
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr ""
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr ""
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr ""
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr ""
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr ""
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr ""
+
+#: src/names.c:768
 msgid "command line"
 msgstr ""
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "Não se pode criar uma ligação (\"link\") simbólica de  %s para %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Não foi encontrado no arquivo"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Não foi encontrado no arquivo"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "O arquivo não tem etiqueta e não condiz com %s"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, 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:164
+#: src/tar.c:165
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "Formato de data inválido \"%s\""
 
-#: src/tar.c:196
+#: src/tar.c:197
 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:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1418,7 +1574,7 @@ msgid ""
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1430,80 +1586,88 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:425
+#: src/tar.c:401
 #, fuzzy
 msgid "create a new archive"
 msgstr "Fim de ficheiro inesperado no arquivo"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1511,641 +1675,513 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr ""
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:461
 #, 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:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr ""
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr ""
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr ""
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr ""
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:609
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Não se pode verificar arquivos multi-volume"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:653
+#: src/tar.c:635
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Arquivo para stdin"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Há conflitos entre as opções de compressão"
 
-#: src/tar.c:686
+#: src/tar.c:668
 #, 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:688
+#: src/tar.c:670
 #, 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#: src/tar.c:712
-#, fuzzy
-msgid "change to directory DIR"
-msgstr "Não se pode mudar para a directoria %s"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr ""
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr ""
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr ""
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr ""
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr ""
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr ""
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr ""
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Retira-se \"/\" das ligações (\"links\") absolutas "
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr ""
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2153,306 +2189,324 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:842
+#: src/tar.c:752
 #, fuzzy
 msgid "ask for confirmation for every action"
 msgstr "Não se consegue obter confirmação, do utilizador"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr ""
+
+#: src/tar.c:934
 #, fuzzy
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Há conflitos entre as opções de compressão"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "Opção \"%c\" desconhecida"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr ""
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr ""
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr ""
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr ""
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr ""
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr ""
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr ""
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 #, fuzzy
 msgid "Invalid record size"
 msgstr "Valor inválido para tamanho de registo (record_size)"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr ""
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 #, fuzzy
 msgid "Only one --to-command option allowed"
 msgstr "Só se permite uma opção de compressão"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Opção \"%c\" desconhecida"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Erro durante o fecho de %s"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr ""
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Não se consegue escrever em %s"
+msgid "non-option arguments in %s"
+msgstr "Formato de data inválido \"%s\""
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "Não se pode criar uma ligação (\"link\") simbólica de  %s para %s"
+
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "A antiga opção `%c' exige um argumento."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Para usar vários arquivos é necessária a opção \"-M\""
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Não se pode verificar arquivos multi-volume"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 #, fuzzy
 msgid "Cannot verify compressed archives"
 msgstr "Não se pode actualizar o verificar um arquivo comprimido"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Não se pode de usar arquivos multi-volume comprimidos"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Não se pode actualizar o verificar um arquivo comprimido"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Recusa-se, covardemente, a criar um arquivo vazio"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "As opções \"-Aru\" são imcompatíveis com \"-f -\""
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 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:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2508,34 +2562,34 @@ msgstr ""
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2576,246 +2630,250 @@ msgstr "Escreve-se o ponto de verifica
 msgid "Read checkpoint %u"
 msgstr "Leu-se o ponto de verificação %d"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 #, fuzzy
 msgid "File creation options:"
 msgstr "Há conflitos entre as opções de compressão"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr ""
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 #, fuzzy
 msgid "Update the access and modification times of FILE"
 msgstr "Não se conseguiu modificar os tempos de acesso e modificação de %s"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Formato de data inválido \"%s\""
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr ""
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Erro desconhecido, do sistema"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "Não se consegue abrir %s"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "Não se consegue executar %s"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "Opção \"%c\" desconhecida"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "Não se consegue executar \"stat\" para o ficheiro %s"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "Não se consegue executar \"stat\" para %s"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr ""
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "Não se consegue ler a ligação (\"link\") %s"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Nomes de ficheiros truncados--\n"
@@ -2959,9 +3017,6 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgid "Not a regular file"
 #~ msgstr "%s: Não é um ficheiro normal\n"
 
-#~ msgid "Error while closing %s"
-#~ msgstr "Erro durante o fecho de %s"
-
 #, fuzzy
 #~ msgid "Does not exist"
 #~ msgstr "%s: Não existe\n"
index d10b1b322e65434f09b9ec382cbfc6cf6bd3f3b8..9fc0db65e0d5f55d9c61c7fecb82ff4b5dad8957 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index 5c2e7b47e6636b6dc80f2f92b0a685a28935ec2d..b0b36c03d079419cb638947c5f78fd1e7673d6e9 100644 (file)
 # António José Coutinho <ajc@di.uminho.pt>, 1996.
 # Marcus Moreira de Souza <marcusms@frb.br>
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.26\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2013-01-24 21:39-0300\n"
 "Last-Translator: Lucas Inojosa C. Ferreira <lucas.inojosa@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -28,46 +28,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argumento %s inválido para %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argumento %s ambíguo para %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Os argumentos válidos são:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr "ARGP_HELP_FMT: O valor %s é menor ou igual que %s"
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: O parâmetro ARGP_HELP_FMT exige um valor"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: O Parâmetro ARGP_HELP_FMT deve ser positivo"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Parâmetro do ARGP_HELP_FMT desconhecido"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Lixo no ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -75,24 +75,24 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Uso:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  ou: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPÇÃO...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -101,121 +101,126 @@ msgstr ""
 "<afmenez@terra.com.br>\n"
 "ou <lucas.inojosa@gmail.com>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Erro de sistema desconhecido"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "exibir esse menu de ajuda"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "exibir uma mensagem curta de uso do programa"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NOME"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "definir o nome do programa"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEGS"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "pausa por SEGS segundos (padrão: 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "exibe a versão do programa"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ERRO DO PROGRAMA) Não se sabe a versão!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Argumentos além do necessário\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ERRO DO PROGRAMA) A opção deveria ter sido reconhecida!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "erro de escrita"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: a opção '%s' é ambígua\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: a opção '-W %s' é ambígua\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: a opção '%s' exige um argumento\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: opção '--%s' não reconhecida\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: opção '%c%s' não reconhecida\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opção inválida -- '%c'\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: a opção exige um argumento -- '%c'\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: a opção '-W %s' é ambígua\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: a opção '-W %s' exige um argumento\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memória esgotada"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "impossível salvar o atual diretório de trabalho"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "falha ao retornar para o diretório de trabalho inicial"
@@ -241,11 +246,11 @@ msgstr "falha ao retornar para o diret
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -255,7 +260,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[sS]"
 
@@ -265,16 +270,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pacote feito por %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pacote feito por %s\n"
@@ -282,11 +287,11 @@ 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -303,19 +308,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Escrito por %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Escrito por %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Escrito por %s, %s e %s.\n"
@@ -323,7 +328,7 @@ 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
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: gnu/version-etc.c:119
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +352,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,7 +364,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -371,7 +376,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -385,7 +390,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -399,7 +404,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -414,7 +419,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -426,22 +431,22 @@ msgstr ""
 "<afmenez@terra.com.br>\n"
 "ou <lucas.inojosa@gmail.com>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Informar %s erros no programa para: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s página inicial: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s página inicial: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Ajuda para uso de softwares GNU: <http://www.gnu.org/gethelp/>\n"
 
@@ -606,8 +611,8 @@ msgstr "Argumentos inesperados"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Manipula uma unidade de fita, aceitando comandos de um processo remoto"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NUMERO"
 
@@ -615,10 +620,11 @@ msgstr "NUMERO"
 msgid "set debug level"
 msgstr "define nível de debug"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "ARQ"
 
@@ -631,7 +637,7 @@ msgstr "define nome do arquivo de sa
 msgid "cannot open %s"
 msgstr "impossível fechar %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "muitos argumentos"
@@ -640,112 +646,112 @@ msgstr "muitos argumentos"
 msgid "Garbage command"
 msgstr "Comando sem sentido"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 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:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Total de bytes lidos"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Total de bytes escritos"
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Total de bytes apagados: %s\n"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Valor inválido para \"record_size\""
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Nome de arquivo-tar não informado"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 "Impossível verificar arquivos-tar de entrada/saída padrão (stdin/stdout)"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "O arquivo está compactado. Use a opção %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Impossível atualizar arquivos-tar compactados"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "No princípio da fita, encerrando agora"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Muitos erros, encerrando"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Tamanho de registro = %lu bloco"
 msgstr[1] "Tamanho de registro = %lu blocos"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Bloco desalinhado (%lu byte) no arquivo-tar"
 msgstr[1] "Bloco desalinhado (%lu bytes) no arquivo-tar"
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek não está parado numa fronteira de registro"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contém um número de volume inválido"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Sobrecarga de número de volumes"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare o volume #%d para %s e tecle Enter: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Fim-de-arquivo onde era esperado resposta do usuário"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "AVISO: O arquivo-tar está incompleto"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -757,67 +763,67 @@ msgstr ""
 " q                Abortar tar\n"
 " y ou nova linha  Continuar operação\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Criar um sub-shell\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Mostra esta lista\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Nenhum volume novo; encerrando.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Nome de arquivo não foi especificado. Tente novamente.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Entrada inválida. Digite ? para ajuda.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "comando %s falhou"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s não é continuado neste volume"
+
+#: src/buffer.c:1523
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s possivelmente é continuado neste volume: o cabeçalho contém o nome "
 "truncado"
 
-#: src/buffer.c:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s não é continuado neste volume"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s é o tamanho errado (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volume está fora de sequência (%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "O arquivo-tar não rotulado para casar com %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "O volume %s não casa com %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -825,7 +831,7 @@ msgstr ""
 "%s: nome de arquivo muito longo para ser armazenado num cabeçalho GNU "
 "multivolume, truncado"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "escrita não acabou numa fronteira de bloco"
 
@@ -836,20 +842,20 @@ msgid_plural "Could only read %lu of %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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "O conteúdo é diferente"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Final-de-arquivo inesperado no arquivo-tar"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "O tipo de arquivo é diferente"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Os modos são diferentes"
 
@@ -865,7 +871,7 @@ msgstr "os gid s
 msgid "Mod time differs"
 msgstr "Os horários de modificação são diferentes"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Os tamanhos são diferentes"
 
@@ -874,142 +880,142 @@ msgstr "Os tamanhos s
 msgid "Not linked to %s"
 msgstr "Não está \"linkado\" a %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "O (\"Link\") simbólico é diferente"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "O número de dispositivo é diferente"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verificar "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: Tipo de arquivo `%c' desconhecido, comparado como um arquivo normal"
 
-#: src/compare.c:529
+#: src/compare.c:533
 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:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "O arquivo-tar contém nomes de arquivos transformados."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "A verificação pode falhar em localizar os arquivos originais."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Bloco de zero isolado em %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: contém um rótulo %s de diretório cache; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valor %s fora da faixa %s: %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Gerando cabeçalhos octais negativos"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: nome de arquivo é muito grande (máximo de %d); não será arquivado"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: nome de arquivo é muito grande (não pode ser dividido); não será "
 "arquivado"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: Nome de link muito grande; não será arquivado"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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 byte; completando com zeros"
 msgstr[1] "%s: O arquivo diminuiu %s bytes; completando com zeros"
 
-#: src/create.c:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "conteúdos não depositados"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipo de arquivo desconhecido; arquivo ignorado"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Faltando links para %s"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: arquivo sem alterações; não será arquivado"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "diretório não depositado"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: arquivo alterado enquanto estava sendo lido"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: \"socket\" ignorado"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: porta ignorada"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Pulando para o próximo cabeçalho"
 
@@ -1027,54 +1033,54 @@ msgstr "%s: carimbo de tempo implausivelmente velho %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: o carimbo de horário %s está %s s no futuro"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistência inesperada ao criar diretório"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Extraindo arquivos contíguos como sendo arquivos normais"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Tentativa de extrair \"links\" simbólicos como \"links\" físicos"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Nome longo de cabeçalho inesperado"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Tipo de arquivo `%c' desconhecido; extraído como arquivo normal"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "%s atual é mais novo ou tem a mesma idade"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Impossível fazer backup deste arquivo"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Impossível renomear %s para %s"
@@ -1125,130 +1131,131 @@ msgstr "N
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Final-de-arquivo (EOF) inesperado em arquivo instantâneo"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Faltando registro de terminação"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Formato de arquivo mal incrementável"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Versão incremental do formato não suportada: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Diretório de despejo malformado: '%c' esperado mas %#3o recebido"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Diretório de despejo malformado: 'X' duplicado"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Diretório de despejo malformado: nome vazio em 'R'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Diretório de despejo malformado: 'T' não precedido por 'R'"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Diretório de despejo malformado: nome vazio em 'T'"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Diretório de despejo malformado: 'X' nunca usado"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Impossível criar diretório temporarário usando o template %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Diretório não purgado: impossibilitado de quantificar"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: diretório está em outro dispositivo; não será arquivado"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Removendo %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Impossível remover"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Omitindo"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloco %s: ** Bloco de NULs **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloco %s: ** Fim-de-arquivo **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "bloco %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1256,87 +1263,87 @@ msgstr ""
 "complemento de dois"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "o arquivo-tar contém cabeçalhos base-64 obsoletos"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " link para %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo de arquivo \"%s\" desconhecido\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Link Longo--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nome Longo--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabeçalho de volume--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua no byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Criando de diretório:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Renomeando %s para %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Impossível renomear para %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Renomeando %s de volta para %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: arquivo removido antes de ser lido"
@@ -1349,31 +1356,186 @@ msgstr "processo filho"
 msgid "interprocess channel"
 msgstr "canal interprocesso"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Seleção de arquivo local:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "muda para o diretório DIR"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "pega nomes para extrair ou criar a partir de ARQ"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T lê nomes de terminação nula, desabilita -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PADRÂO"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "exclua arquivos, dado como um PADRÂO"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "exclua padrões listados em ARQ"
+
+#: src/names.c:95
+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/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "exclui conteúdo dos diretórios contendo ARQ, exceto o próprio ARQ"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "exclui tudo dentro dos diretórios contendo ARQ"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "exclui diretórios contendo ARQ"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr ""
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr ""
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr ""
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "coringas não casam com `/'"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "comando %s falhou"
 
-#: src/names.c:378
+#: src/names.c:786
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: lista de arquivos já lida"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ímpossível definir tempo em `%s'"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Padrão correspondente a caracteres usados em nomes de arquivos"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1381,47 +1543,47 @@ msgstr ""
 "Use --wildcards para habilitar casamento de padrão, ou --no-wildcards para "
 "suprimir este aviso"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Não foi encontrado no arquivo-tar"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Ocorrência pedida não foi encontrada no arquivo-tar"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arquivo-tar não rotulado para casar"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Somente uma opção -C é permitida com --listed-incremental"
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, 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:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Formato de arquivo inválido"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Desejadas características GNU num arquivo-tar com formato incompatível"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1429,7 +1591,7 @@ msgstr ""
 "Estilo de citação `%s' desconhecido. Tente `%s --quoting-style=help' para "
 "pegar uma lista."
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1450,7 +1612,7 @@ msgstr ""
 "modo verboso.\n"
 "  %s -xf arquivo.tar          # Extrai todos os arquivos de arquivo.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1471,79 +1633,87 @@ msgstr ""
 "  nil, existing   numera se existe backup numerado, se não faz simples\n"
 "  never, simple   sempre faz backups simples\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Modo de operação principal:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "lista os conteúdos de um registro de arquivos"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "extrai arquivos de um registro de arquivos"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "cria um novo arquivo-tar"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "acha diferenças entre um registro de arquivos e o sistema de arquivos"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "anexa arquivos ao final de um registro de arquivos"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "anexar apenas arquivos mais novos que a cópia em arquivo"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "anexar arquivos tar a um arquivo"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "apague do arquivo (não em fitas magnéticas!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "teste o rótulo de volume do arquivo e saia"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modificadores de operação:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "trata arquivos esparsos eficientemente"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "PRINCIPAL[.SECUNDÁRIO]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "define versão do formato esparso a ser usado (implica --esparso)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "trata formato-GNU de backup incremental antigo"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "trata formato-GNU de backup incremental novo"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "nível dump para recém criado registro incremental-listado"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "não sai com nonzero em arquivos ilegíveis"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1555,141 +1725,150 @@ msgstr ""
 "--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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "registro é procurável"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "registro não é procurável"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "não checa números de dispositos quando criando registros incrementais"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "checa números de dispositos quando criando registros incrementais (padrão)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Sobreescreve controle:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "tenta verificar o registro após escrevê-lo"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "remove arquivos após adicioná-los ao registro"
 
-#: src/tar.c:485
+#: src/tar.c:463
 #, 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:488
+#: src/tar.c:466
 #, 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:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "sobreescreve arquivos existentes durante extração"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "remove cada arquivo antes de extrair sobre ele"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "esvazia hierarquias antes de extrair diretório"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "preserva metadados de diretórios existentes"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "sobreescreve metadado de diretório existente ao extrair (padrão)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 #, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "sobreescreve arquivos existentes durante extração"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Seleciona fluxo de saída:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "extrai arquivos para saída padrão"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "COMMAND"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "pipe extraiu arquivos para outro programa"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "ignora código de saída de filhos"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "trata código de saída non-zero de filhos como erro"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Tratando de atributos de arquivo:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "força NOME como dono para arquivos adicionados"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "força NOME como grupo para arquivos adicionados"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATA-OU-ARQ"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "seta mtime para arquivos adicionados de DATA-OU-ARQ"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "CHANGES"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "força (simbolicamente) modo CHANGES para arquivos adicionados"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METHOD"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1699,11 +1878,11 @@ msgstr ""
 "tempos após leitura (METHOD='replace'; padrão) quanto por não setar os "
 "tempos em primeiro lugar (METHOD='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "não extrai o arquivo tempo modificado"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1711,501 +1890,360 @@ msgstr ""
 "tenta extrair arquivos com mesmo tipo de propriedade como existente em "
 "registro de arquivos (padrão para superusuário)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "extrai arquivos como você mesmo (padrão para usuários comuns)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "sempre usar números para nomes de usuário/grupo"
 
-#: src/tar.c:551
+#: src/tar.c:535
 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:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "o mesmo para ambos -p e -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "cancela o efeito da opção --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 #, fuzzy
 msgid "Handling of extended file attributes:"
 msgstr "Tratando de atributos de arquivo:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Seleção e troca de dispositivo"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIVE"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "use registro de arquivos ou dispositivo ARCHIVE"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "arquivo do registro é local mesmo se tiver dois pontos"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "use COMMAND rmt dado ao invés de rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "use COMMAND remoto ao invés de rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "especifique drive e densidade"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "criar/listar/extrair arquivo-tar multivolume"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "troque a fita após escrever NUMBER x 1024 bytes"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "rode o script no final de cada fita (implica -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "use/atualize o número do volume no ARQ"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Dispositivo bloqueando:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOCKS"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOCKS x 512 bytes por gravação"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NUMBER de bytes por gravação, multiplo de 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Seleção do formato de arquivo-tar:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "cria registro de arquivos no formato dado"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT é um dos seguintes:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "formato V7 tar velho"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "o mesmo que pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "equivalente a --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "equivalente a --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "palavra-chave[[:]=valor][,palavra-chave[[:]=valor]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "controle palavra-chave pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Opções de compressão:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 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:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtra através de PROG (deve aceitar -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Seleção de arquivo local:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "muda para o diretório DIR"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "pega nomes para extrair ou criar a partir de ARQ"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T lê nomes de terminação nula, desabilita -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PADRÂO"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "exclua arquivos, dado como um PADRÂO"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "exclua padrões listados em ARQ"
-
-#: src/tar.c:728
-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:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "exclui conteúdo dos diretórios contendo ARQ, exceto o próprio ARQ"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "exclui tudo dentro dos diretórios contendo ARQ"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "exclui diretórios contendo ARQ"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 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:759
-msgid "recurse into directories (default)"
-msgstr ""
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "preservar `/'s iniciais nos nomes dos arquivos"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "MEMBER-NAME"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "armazena apenas arquivos mais novos que DATA-OU-ARQ"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "compara data e hora apenas quando so dados mudarem"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTROLE"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "efetua backup antes da remoção, escolhe versão CONTROLE"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Transformações de nome de arquivo:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "coringas não casam com `/'"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Prestação de informações:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "KEYWORD"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "aviso de controle"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "exibe mensagens de progresso a cada NUMBERésima gravação (padrão 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "Executa ACTION em cada checkpoint"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2213,79 +2251,86 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "imprime tempos de modificação de arquivo em UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "imprime tempo de arquivo em sua resolução máxima"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "mostra padrões do tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Outras opções:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "desabilitar o uso de alguma opção potencialmente nociva"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Impossível saltar para %s"
+
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
@@ -2294,223 +2339,234 @@ msgstr ""
 "Não é possível especificar mais do que uma das opções `-Acdtrux' ou `--test-"
 "label'"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opções de compressão conflitantes"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nome de sinal desconhecido: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Arquivo de datas não encontrado"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Substituindo %s pelo formato de data desconhecido %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, fuzzy, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Opção %s: Tratando data `%s' como %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Dono inválido"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Fator de blocagem inválido"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Tamanho da fita inválido"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Mais do que uma data limite"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Modo inválido informado na opção"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Número inválido"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Tamanho de registro inválido"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Número de elementos inválido"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Somente uma opção --to-command permitida"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densidade desconhecida: `%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Erro ao analise o número próximo de `%s'"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[ARQ]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Padrão %s não pode ser usado"
+msgid "non-option arguments in %s"
+msgstr "argumento %s inválido para %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "ímpossível definir tempo em `%s'"
+
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "A opção antiga `%c' exige um argumento."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Múltiplos arquivos-tar exigem a opção `-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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 byte)"
 msgstr[1] "%s: O rótulo do volume é longo demais (o limite são %lu bytes)"
 
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Impossível verificar arquivos-tar multi-volume"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Impossível verificar arquivos-tar compactados"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Impossível usar arquivos-tar compactados multi-volume"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Impossível concatenar arquivos-tar comprimidos"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Recusando a criar um arquivo-tar vazio"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "As opções `-Aru' são incompatíveis com `-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Deve ser especificada uma das opções `-Acdtrux' ou `--test-label'"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2566,34 +2622,34 @@ msgstr "Cabe
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignorando chave `%s' desconhecida do cabeçalho estendido"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Cabeçalho estendido %s=%s está fora da faixa %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Cabeçalho estendido malformado: %s=%s inválido"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Cabeçalho estendido malformado: excesso %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Cabeçalho estendido malformado: %s inválido: delimitador %c inesperado"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Cabeçalho estendido malformado: %s inválido: número par de valores"
@@ -2634,7 +2690,7 @@ msgstr "Ponto de verifica
 msgid "Read checkpoint %u"
 msgstr "Ponto de verificação de leitura %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2643,86 +2699,90 @@ msgstr ""
 "GNU.\n"
 "OPÇÕES são:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Opções de criação do arquivo:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "TAM"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Cria arquivo com tamanho TAM"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Escrever no arquivo NOME ao invés da saída padrão"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Lê nomes de arquivos a partir de ARQ"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T lê nomes com terminação nula"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Preenche o arquivo com o PADRÂO dado. PADRÃO é 'default' ou 'zeros'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Tamanho de um block para arquivo esparso"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 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
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "OFFSET"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Opções de estatísticas do arquivo:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPTION"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Seta data para próxima opção --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Exibe checkpoints executados e status de saída de COMMAND"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2730,7 +2790,7 @@ 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
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2738,158 +2798,155 @@ msgstr ""
 "Truncar ARQ para o tamanho especificado pela opção anterior --length (or 0, "
 "se não for informado)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 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
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Atualiza o acesso e tempo de modificação de ARQ"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Executa COMMAND"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Desfaz o link de ARQ"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Tamanho inválido: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Número fora do alcance permitido: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Tamanho negativo: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "tamanho de arquivo requisitado %lu, de fato %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "arquivo criado não é esparso"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Erro ao analise o número próximo de `%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Formato de data desconhecido"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' não pode ser aberto"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "Impossível saltar"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "nome de arquivo contém caractere nulo"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "impossível gerar arquivos esparsos na saída padrão, use a opção --file"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "Máscara incorreta (próximo a `%s')"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Campo `%s' desconhecido"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ímpossível definir tempo em `%s'"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "impossível desfazer link simbólico `%s'"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "comando %s falhou"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "impossível desfazer link simbólico `%s'"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Comando terminou com sucesso\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Comando falhou com o sinal %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Comando terminou no sinal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Comando parado ao receber o sinal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Comando terminado\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat exige nomes de arquivos"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "ordena nome para extração para casar com registro de arquivos"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Impossivel combinar --listed-incremental com --newer"
+#~ msgid "same as both -p and -s"
+#~ msgstr "o mesmo para ambos -p e -s"
 
 #~ msgid "Field too long while reading snapshot file"
 #~ msgstr "Campo muito longo durante leitura de arquivo instantâneo"
@@ -2903,9 +2960,15 @@ msgstr "--stat exige nomes de arquivos"
 #~ msgid "Cannot get working directory"
 #~ msgstr "Impossível detectar o diretório de trabalho"
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "ordena nome para extração para casar com registro de arquivos"
+
 #~ msgid "Invalid group"
 #~ msgstr "Grupo inválido"
 
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Impossivel combinar --listed-incremental com --newer"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "Comprimento do cabeçalho estendido está fora da faixa permitida"
 
index bfd975b62f62fd82edec2e357b15ed954dc4150f..86891dbc1c997c0ad0ec3e86507261154705b366 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index 03047838a5bc0f17c93c75e6b5379a05fca8dcd9..7e1ccc4fec6fcd864109a6f4d125b5fed3f829c1 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -3,12 +3,12 @@
 # Laurentiu Buzdugan <lbuz@rolix.org>>, 2005.
 #
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.15.1\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2005-07-15 12:00-0500\n"
 "Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -18,46 +18,46 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argument invalid %s pentru %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argument ambiguu %s pentru %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Argumente valide sunt:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr ""
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: parametrul ARGP_HELP_FMT necesitã o valoare"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: parametru ARGP_HELP_FMT necunoscut"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Gunoi în ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -65,147 +65,152 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Folosire:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr " sau: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [OPÞIUNE...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Raportaþi bug-uri la %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Eroare sistem necunoscutã"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 #, fuzzy
 msgid "give this help list"
 msgstr "Afiºeazã aceastã listã de ajutor"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 #, fuzzy
 msgid "give a short usage message"
 msgstr "Afiºeazã un scurt mesaj despre folosire"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NUME"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr ""
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr ""
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 #, fuzzy
 msgid "print program version"
 msgstr "Afiºeazã versiunea programului"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, fuzzy, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: opþiunea `%s' necesitã un argument\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: opþiunea `%s' este ambiguã\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opþiunea `-W %s' este ambiguã\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: opþiunea `%s' necesitã un argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: opþiunea `--%s' nu este recunoscutã\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: opþiunea `%c%s' bu este recunoscutã\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opþiune invalidã -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: opþiunea necesitã un argument -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, fuzzy, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: opþiunea `-W %s' este ambiguã\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: opþiunea `%s' necesitã un argument\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "memorie epuizatã"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Nu pot schimba directorul în care lucrez"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Nu pot salva directorul în care lucrez"
@@ -231,11 +236,11 @@ msgstr "Nu pot salva directorul 
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -245,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr ""
 
@@ -255,16 +260,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -272,11 +277,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -287,19 +292,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -307,7 +312,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -317,7 +322,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -327,7 +332,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -337,7 +342,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +352,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -358,7 +363,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -369,7 +374,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -381,29 +386,29 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr "Raportaþi bug-uri la %s.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Raportaþi bug-uri la %s.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -581,8 +586,8 @@ msgstr ""
 "  --version   Afiºeazã informaþii versiune.\n"
 "  --help      Afiºeazã acest mesaj.\n"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NUMÃR"
 
@@ -590,10 +595,11 @@ msgstr "NUM
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FIªIER"
 
@@ -606,7 +612,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr ""
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -615,113 +621,112 @@ msgstr ""
 msgid "Garbage command"
 msgstr "Comandã gunoi"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Aceasta nu pare a fi o arhivã tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Numãr total octeþi scriºi: %s (%s, %s/s)\n"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Numãr total octeþi scriºi: %s (%s, %s/s)\n"
+msgstr ""
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Valoare invalidã pentru record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Nume arhivã nu a fost furnizat"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nu pot verifica arhive atdin/stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiva este compresatã. Folosiþi opþiunea %s."
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Nu pot actualiza arhive comprimate"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "La începutul benzii, ieºim acum"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Prea multe erori, ieºim"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: conþine numãr volum invalid"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Depãºire domeniu numãr volum"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Preparã volum #%d pentru %s ºi apasã tasta return: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "EOF unde era aºteptat rãspunsul utilizatorului"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "AVERTISMENT: Arhiva este incompletã"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -733,72 +738,72 @@ msgstr ""
 " !          Lanseazã un subshell\n"
 " ?          Afiºeazã aceastã listã de opþiuni\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Nici un volum nou; terminãm.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "`%s' comanda a eºuat"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nu este continuat pe acest volum"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s este de dimensiune greºitã (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Acest volum este în afara secvenþei"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volumul %s nu se potriveºte cu %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, 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:1917
+#: src/buffer.c:1949
 #, fuzzy
 msgid "write did not end on a block boundary"
 msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri"
@@ -810,20 +815,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Conþinuturile diferã"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "EOF neaºteptat în arhivã"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Tipul fiºierelor diferã"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Modurile diferã"
 
@@ -839,7 +844,7 @@ msgstr "Gid difer
 msgid "Mod time differs"
 msgstr "Timp modificare diferã"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Dimensiunea diferã"
 
@@ -848,141 +853,141 @@ msgstr "Dimensiunea difer
 msgid "Not linked to %s"
 msgstr "Nu este link-at cãtre %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symlink diferã"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Numãr dispozitiv diferã"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verificã "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arhiva conþine nume de fiºiere cu prefixele îndepãrtate."
 
-#: src/compare.c:535
+#: src/compare.c:539
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Arhiva conþine antete în baza-64 depãºite"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Verificare ar putea eºua sã gãseascã fiºierele originale."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Un bloc zero singuratic la %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, 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:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valoarea %s în afara %s intervalului %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Generez antete octale negative"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: numele link-ului este prea lung; nimic generat"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tip de fiºier necunoscut; fiºier ignorat"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "Link lipsã cãtre '%s'.\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fiºierul este neschimbat; nimic generat"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fiºierul este în arhivã; nimic generat"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: conþine o etichetã de director cache; nimic generat"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fiºier schimbat în timp ce îl citeam"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket ignorat"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: uºã ignoratã"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Sãrim la urmãtorul antet"
 
@@ -1000,55 +1005,55 @@ msgstr "%s: 
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: înregistrare timp %s este %lu sec în viitor"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistenþã neaºteptatã când cream directorul"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Extragem fiºiere contigue ca fiºiere normale"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Încerc extragerea link-urilor simbolice ca link-uri hard"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "EOF neaºteptat în numele amestecate"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 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:1568
+#: src/extract.c:1613
 #, fuzzy, c-format
 msgid "Current %s is newer or same age"
 msgstr "`%s' curent este mai nou"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Nu am putut arhiva (backup) acest fiºier"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Nu pot redenumi ca %s"
@@ -1099,132 +1104,133 @@ msgstr "Num
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "EOF neaºteptat în arhivã"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, fuzzy, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "Am citit %s octeþi de la %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, fuzzy, c-format
 msgid "%s: byte %s: %s"
 msgstr "Am citit %s octeþi de la %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Argument densitate malformat: '%s'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr ""
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
+msgstr "Argument densitate malformat: '%s'"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Argument densitate malformat: '%s'"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr ""
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Nu curãþ director: nu pot determina statistici"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: ªtergem %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Nu pot ºterge"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Omis"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloc %s: ** Bloc de NUL-uri **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s: ** Sfârºit de fiºier **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1232,87 +1238,87 @@ msgstr ""
 "lui doi"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiva conþine antete în baza-64 depãºite"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " link cãtre %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tip fiºier necunoscut %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Link Lung--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nume Lung--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Antet Volum--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continuat la octet %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Creez director:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Redenumesc %s ca %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Nu pot redenumi ca %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Redenumesc %s înapoi ca %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fiºier ºters înainte de a-l putea citi"
@@ -1325,81 +1331,245 @@ msgstr "proces copil"
 msgid "interprocess channel"
 msgstr "canal între-procese"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Selecþie fiºier local:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "schimbã în directorul DIR"
+
+#: src/names.c:75
+#, fuzzy
+msgid "get names to extract or create from FILE"
+msgstr "obþine numele de extras sau creat din fiºierul NUME"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PATTERN"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "exclude fiºiere, date ca un PATTERN"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "pattern-urile de excludere sunt listate în FIªIER"
+
+#: src/names.c:95
+#, 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/names.c:98
+#, fuzzy
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "exclude directoarele ce conþin o etichetã cache"
+
+#: src/names.c:101
+#, fuzzy
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "exclude directoarele ce conþin o etichetã cache"
+
+#: src/names.c:103
+#, fuzzy
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "exclude directoarele ce conþin o etichetã cache"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+#, fuzzy
+msgid "exclude everything under directories containing FILE"
+msgstr "exclude directoarele ce conþin o etichetã cache"
+
+#: src/names.c:114
+#, fuzzy
+msgid "exclude directories containing FILE"
+msgstr "exclude directoarele ce conþin o etichetã cache"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+#, fuzzy
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "pattern-urile de excludere sunt ºiruri simple"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "coboarã recursiv în directoare (implicit)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "evitã coborârea automatã în directoare"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+#, fuzzy
+msgid "patterns match file name start"
+msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere"
+
+#: src/names.c:134
+#, fuzzy
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "pattern-urile de excludere potrivesc dupã orice / (implicit)"
+
+#: src/names.c:136
+#, fuzzy
+msgid "ignore case"
+msgstr "în excluderi ignorã cazul caracterelor (minuscule/majuscule)"
+
+#: src/names.c:138
+#, fuzzy
+msgid "case sensitive matching (default)"
+msgstr "excluderea depinde de caz (minuscule/majuscule) (implicit)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+#, fuzzy
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "wildcard-urile din pattern-urile de excludere potrivesc '/' (implicit)"
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "wildcard-urile în pattern-urile de excludere nu potrivesc '/'"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "`%s' comanda a eºuat"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nu a fost gãsit în arhivã"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Lucrul cerut nu a fost gãsit în arhivã"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, 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:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Format arhivã invalid"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Capabilitãþi GNU cerute pentru un format de arhivã incompatibil"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1427,7 +1597,7 @@ 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:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1456,79 +1626,87 @@ msgstr ""
 "  nil, existing   numeroteazã dacã existã backup numerotat, altfel simplu\n"
 "  never, simple   întotdeauna creazã backup simplu\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Mod de operare principal:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "listeazã conþinutul unei arhive"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "extrage fiºiere dintr-o arhivã"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "creazã o nouã arhivã"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "gãseºte diferenþele dintre arhive ºi sistemul de fiºiere"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "adaugã fiºiere la sfârºitul unei arhive"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "adaugã numai fiºierele mai noi decât copia din arhivã"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "adaugã fiºiere tar la o arhivã"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "ºterge din arhivã (nu pe benzi magnetice!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modificatori operaþie:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "manipuleazã eficient fiºierele rerefiate (sparse)"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "foloseºte vechiul format GNU pentru backup incremental"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "foloseºte noul format GNU pentru backup incremental"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 #, fuzzy
 msgid ""
 "process only the NUMBERth occurrence of each file in the archive; this "
@@ -1541,383 +1719,388 @@ 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:465
+#: src/tar.c:443
 #, fuzzy
 msgid "archive is seekable"
 msgstr "Arhiva este cãutabilã"
 
-#: src/tar.c:467
+#: src/tar.c:445
 #, fuzzy
 msgid "archive is not seekable"
 msgstr "Arhiva este cãutabilã"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "încearcã sã verifici arhiva dupã scrierea sa"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "ºterge fiºierele dupã ce acestea sunt adãugate la arhivã"
 
-#: src/tar.c:485
+#: src/tar.c:463
 #, fuzzy
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "nu înlocui fiºierele existente la extragere"
 
-#: src/tar.c:488
+#: src/tar.c:466
 #, fuzzy
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "nu înlocui fiºierele existente la extragere"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "supra-scrie fiºierele existente la extragere"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "ºterge fiecare fiºier înainte de a extrage peste acesta"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "goleºte ierarhiile înainte de a extrage un director"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "pãstrazã metadata directoarelor existente"
 
-#: src/tar.c:501
+#: src/tar.c:479
 #, fuzzy
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "supra-scrie fiºierele existente la extragere"
 
-#: src/tar.c:504
+#: src/tar.c:482
 #, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "supra-scrie fiºierele existente la extragere"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "extrage fiºierele la ieºirea standard"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "COMANDÃ"
 
-#: src/tar.c:518
+#: src/tar.c:496
 #, fuzzy
 msgid "pipe extracted files to another program"
 msgstr "extrage fiºierele la ieºirea standard"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Manipulare atribute fiºiere:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "forþeazã NUME ca proprietar pentru fiºierele adãugate"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "forþeazã NUME ca grup pentru fiºierele adãugate"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATA-FIªIERULUI"
 
-#: src/tar.c:534
+#: src/tar.c:516
 #, 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "SCHIMBÃRI"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "forþeazã mod (simbolic) SCHIMBÃRI pentru fiºierele adãugate"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "nu extrage timpul de modificare al fiºierului"
 
-#: src/tar.c:545
+#: src/tar.c:529
 #, 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:547
+#: src/tar.c:531
 #, fuzzy
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "extrage fiºierele ca dvs. însuºi"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "foloseºte întotdeauna numere pentru numele utilizator/grup"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "la fel ca -p ºi -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 #, fuzzy
 msgid "Handling of extended file attributes:"
 msgstr "Manipulare atribute fiºiere:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Selectare ºi schimbare unitate:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARHIVÃ"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "foloseºte fiºier arhivã sau unitate ARHIVÃ"
 
-#: src/tar.c:605
+#: src/tar.c:587
 #, 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "foloseºte rmt COMANDàîn loc de rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "foloseºte remote COMANDàîn loc de rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "specificã unitate ºi densitate"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "creazã/listeazã/extrage arhiva pe volume multiple"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "schimbã banda dupã scriere a NUMÃR x 1024 octeþi"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "ruleazã script la terminarea fiecãrei benzi (implicã -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "foloseºte/actualizeazã numãrul de volum în FIªIER"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blocuri unitate:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOCURI"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOCURI x 512 octeþi pe întregistrare"
 
-#: src/tar.c:644
+#: src/tar.c:626
 #, fuzzy
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "DIMENSIUNE octeþi pe înregistrare, multiplu de 12"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignorã blocuri zero-uate în arhivã (înseamnã EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "redimensioneazã bloc în timpul citirii (pentru pipe-uri BSD4.2"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Selecþie format arhivã:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 #, fuzzy
 msgid "create archive of the given format"
 msgstr "creazã arhiva de formatul dat."
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT este unul din urmãtoarele"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "vechiul format tar V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "oldgnu    formatul GNU format ca pentru tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "formatul GNU tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "formatul POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "formatul POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 #, fuzzy
 msgid "same as pax"
 msgstr "ca ºi pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "ca ºi --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "ca ºi --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 #, fuzzy
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "cuvânt_cheie[[:]=valoare][,cuvânt_cheie[[:]=valoare], ...]"
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "controleazã cuvintele cheie pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:679
+#: src/tar.c:661
 #, fuzzy
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
@@ -1926,186 +2109,82 @@ msgstr ""
 "creazã arhivã nu nume volum NUME. La listare/extragere, foloseºte TEXT ca "
 "pattern de globbing"
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Opþiunile de compresie sunt în conflict"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtreazã prin PROG (trebuie sã accepte -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Selecþie fiºier local:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "schimbã în directorul DIR"
-
-#: src/tar.c:714
-#, 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:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PATTERN"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "exclude fiºiere, date ca un PATTERN"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "pattern-urile de excludere sunt listate în FIªIER"
-
-#: src/tar.c:728
-#, 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:731
-#, fuzzy
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "exclude directoarele ce conþin o etichetã cache"
-
-#: src/tar.c:734
-#, fuzzy
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "exclude directoarele ce conþin o etichetã cache"
-
-#: src/tar.c:736
-#, fuzzy
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "exclude directoarele ce conþin o etichetã cache"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-#, fuzzy
-msgid "exclude everything under directories containing FILE"
-msgstr "exclude directoarele ce conþin o etichetã cache"
-
-#: src/tar.c:747
-#, fuzzy
-msgid "exclude directories containing FILE"
-msgstr "exclude directoarele ce conþin o etichetã cache"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-#, fuzzy
-msgid "read exclude patterns from the VCS ignore files"
-msgstr "pattern-urile de excludere sunt ºiruri simple"
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "evitã coborârea automatã în directoare"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "stai în sistemul de fiºire local la creare arhivei"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "coboarã recursiv în directoare (implicit)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "nu elimina primul `/' din numele fiºierelor"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "NUME-MEMBRU"
 
-#: src/tar.c:767
+#: src/tar.c:699
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "începe la membrul NUME-MEMBRU în arhivã"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "stocheazã numai fiºiere mai noi decât DATA-FIªIERULUI"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "comparã data ºi timpul numai când a fost schimbatã data"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "fã backup înainte de ºtergere, alege CONTROL pentru versiuni"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "ªIR"
 
-#: src/tar.c:776
+#: src/tar.c:708
 #, fuzzy
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
@@ -2114,103 +2193,61 @@ 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:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:783
+#: src/tar.c:715
 #, 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-#, fuzzy
-msgid "ignore case"
-msgstr "în excluderi ignorã cazul caracterelor (minuscule/majuscule)"
-
-#: src/tar.c:797
-#, fuzzy
-msgid "patterns match file name start"
-msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "pattern-urile de excludere potrivesc dupã orice / (implicit)"
-
-#: src/tar.c:801
-#, fuzzy
-msgid "case sensitive matching (default)"
-msgstr "excluderea depinde de caz (minuscule/majuscule) (implicit)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "wildcard-urile în pattern-urile de excludere nu potrivesc '/'"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "wildcard-urile din pattern-urile de excludere potrivesc '/' (implicit)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Ieºire informativã:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "listeazã cu amãnunte fiºierele procesate"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:821
+#: src/tar.c:731
 #, 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 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:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2218,37 +2255,37 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 #, fuzzy
 msgid "print file modification times in UTC"
 msgstr "afiºeazã datele de modificare a fiºierelor în UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "trimite ieºire detaliatã în FIªIER"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "aratã numãrul blocului din arhivã pentru fiecare mesaj"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "cere confirmare pentru fiecare acþiune"
 
-#: src/tar.c:845
+#: src/tar.c:755
 #, fuzzy
 msgid "show tar defaults"
 msgstr "Aratã valorire implicite folosite de tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 #, fuzzy
 msgid ""
 "when listing or extracting, list each directory that does not match search "
@@ -2257,87 +2294,94 @@ msgstr ""
 "La listare sau extragere, listeazã fiecare director care nu se potriveºte cu "
 "criteriile de cãutare"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Opþiuni compatibilitate:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 #, 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:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Alte opþiuni:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Nu pot cãuta (seek) cãtre %s"
+
+#: src/tar.c:934
 #, fuzzy
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opþiunile de compresie sunt în conflict"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " tip fiºier necunoscut %s\n"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Fiºier date nu a fost gãsit"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Înlocuim %s pentru format de datã necunoscut %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, fuzzy, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Tratez data `%s' ca %s + %ld nanosecundã"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, fuzzy, c-format
 msgid "filter the archive through %s"
 msgstr "filtreazã arhiva prin gzip"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2345,189 +2389,200 @@ msgstr ""
 "\n"
 "*Acest* tar foloseºte implicit:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Proprietar invalid"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Factor blocuri invalid"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Lungime de bandã invalidã"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Mai mult de o singurã datã limitã"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Mod invalid furnizat ca opþiune"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Numãr invalid"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Dimensiune înregistrare invalidã"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Dimensiune înregistrare trebuie sã fie un multiplu de %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Numãr invalid de elemente"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, fuzzy, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argument densitate malformat: '%s'"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densitate necunoscutã: '%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr ""
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FIªIER]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Pattern-ul %s nu poate fi folosit"
+msgid "non-option arguments in %s"
+msgstr "argument invalid %s pentru %s"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr ""
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Vechea opþiune `%c' necesitã un argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence n-are sens fãrã o listã de fiºiere"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Fiºiere de arhivã multiple necesitã opþiunea `-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 #, fuzzy
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--occurrence n-are sens fãrã o listã de fiºiere"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Nu pot verifica arhive pe volume multiple"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Nu pot verifica arhive comprimate"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nu pot folosi arhive comprimate pe volume multiple"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Nu pot actualiza arhive comprimate"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Refuz categoric sã creez o arhivã goalã"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Opþiunile `-Aru' sunt incompatibile cu `-f -'"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 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:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2587,34 +2642,34 @@ msgstr "Antet extins malformat: lipse
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, fuzzy, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Antet extins malformat: lipseºte semnul egal"
@@ -2655,265 +2710,262 @@ msgstr "Scrie punct de verificare %d"
 msgid "Read checkpoint %u"
 msgstr "Citeºte punct de verificare %d"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 #, fuzzy
 msgid "File creation options:"
 msgstr "Alte opþiuni:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 #, fuzzy
 msgid "Create file of the given SIZE"
 msgstr "creazã arhiva de formatul dat."
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "extrage fiºierele la ieºirea standard"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 #, fuzzy
 msgid "Read file names from FILE"
 msgstr "Am citit %s octeþi de la %s"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 #, fuzzy
 msgid "-T reads null-terminated names"
 msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 #, fuzzy
 msgid "Seek to the given offset before writing data"
 msgstr "încearcã sã verifici arhiva dupã scrierea sa"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 #, fuzzy
 msgid "OPTION"
 msgstr " [OPÞIUNE...]"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 #, fuzzy
 msgid "Execute COMMAND"
 msgstr "COMANDÃ"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Înregistrare timp invalidã"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Numãr inode în afara intervalului"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Eroare sistem necunoscutã"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s: Nu pot cãuta (seek) cãtre %s"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " tip fiºier necunoscut %s\n"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Nu pot cãuta (seek) cãtre %s"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s: Nu pot redenumi ca %s"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "`%s' comanda a eºuat"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "%s: Nu pot crea symlink cãtre %s"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Amestecat numele fiºierelor--\n"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "sorteazã numele de extras sã se potriveascã cu arhiva"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence nu poate fi folosit în modul de operare cerut"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Nu puteþi combina --listed-incremental cu --newer"
+#~ msgid "same as both -p and -s"
+#~ msgstr "la fel ca -p ºi -s"
 
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: opþiune ilegalã -- %c\n"
@@ -2993,6 +3045,9 @@ msgstr "--Amestecat numele fi
 #~ msgid "do not extract permissions information"
 #~ msgstr "nu extrage informaþii permisiuni"
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "sorteazã numele de extras sã se potriveascã cu arhiva"
+
 #~ msgid "filter the archive through bzip2"
 #~ msgstr "filtrazã arhiva prin bzip2"
 
@@ -3072,6 +3127,12 @@ msgstr "--Amestecat numele fi
 #~ msgid "Warning: the -y option is not supported; perhaps you meant -j?"
 #~ msgstr "Avertisment: opþiunea -y nu este suportatã, aþi dorit cumva -j?"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "--occurrence nu poate fi folosit în modul de operare cerut"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "Nu puteþi combina --listed-incremental cu --newer"
+
 #~ msgid "Error in writing to standard output"
 #~ msgstr "Eroare de scriere la ieºirea standard"
 
index dce82ddefec425b21475d69c1e068d413e4b58a4..d67413cfe85e546080cf1a91fc7001381149c430 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index 1d3e1df580fea5671946b60a78f3569e8e9eab4c..506e8963fb28232d448ff3f86d0a3230b9c33195 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,65 +4,65 @@
 #
 # Const Kaplinsky <const@ce.cctpu.edu.ru>, 1998, 1999.
 # Pavel Maryanov <acid_jack@ukr.net>, 2004, 2006, 2008.
-# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2013.
+# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2013, 2014, 2016.
 # Pavel Maryanov <acid@jack.kiev.ua>, 2010, 2014.
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.27\n"
+"Project-Id-Version: tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2014-07-10 15:24+0200\n"
-"Last-Translator: Pavel Maryanov <acid@jack.kiev.ua>\n"
-"Language-Team: Russian <gnu@mx.ru>\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-15 19:04+0300\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <gnu@d07.ru>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\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: Poedit 1.6.6\n"
+"X-Generator: Lokalize 1.5\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "недопустимый аргумент %s для %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "неоднозначный аргумент %s для %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Допустимые аргументы:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: Для параметра ARGP_HELP_FMT требуется значение"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: Параметра ARGP_HELP_FMT должен быть положительным"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Неизвестный параметр ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Мусор в ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -71,145 +71,150 @@ msgstr ""
 "являются обязательными или необязательными для соответствующих коротких "
 "параметров."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Использование:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr " или: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [ПАРАМЕТР...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr ""
 "Попробуйте «%s --help» или «%s --usage» для получения более подробного "
 "описания.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Сообщения об ошибках отправляйте по адресу: %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Неизвестная системная ошибка"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "вывод этой справки"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "вывод короткого сообщения об использовании"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "ИМЯ"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "определяет название программы"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "СЕК"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "ожидание в течение заданных СЕКУНД (по умолчанию 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "вывод версии программы"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ОШИБКА ПРОГРАММЫ) Неизвестная версия?!"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Слишком много аргументов\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ОШИБКА ПРОГРАММЫ) Параметр должен был быть распознан?!"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "ошибка записи"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: двусмысленный параметр «%s»; возможные варианты:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: двусмысленный параметр «%s»\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: с параметром «--%s» нельзя использовать аргумент\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: с параметром «%c%s» нельзя использовать аргумент\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: для параметра «--%s» требуется аргумент\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: нераспознанный параметр «--%s»\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: нераспознанный параметр «%c%s»\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: недопустимый параметр -- «%c»\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: для параметра требуется аргумент -- «%c»\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: параметр «-W %s» неоднозначен\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: с параметром «-W %s» нельзя использовать аргумент\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: для параметра «-W %s» требуется аргумент\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "недостаточно памяти"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "невозможно зарегистрировать текущий рабочий каталог"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "не удалось вернуться в первоначальный рабочий каталог"
@@ -235,11 +240,11 @@ msgstr "не удалось вернуться в первоначальный 
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "«"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "»"
 
@@ -249,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yY]"
 
@@ -259,16 +264,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Упакован %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Упакован %s\n"
@@ -276,11 +281,11 @@ msgstr "Упакован %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -297,19 +302,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Автор: %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Авторы: %s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Авторы: %s, %s и %s.\n"
@@ -317,7 +322,7 @@ msgstr "Авторы: %s, %s и %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -329,7 +334,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -341,7 +346,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -353,7 +358,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -365,7 +370,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -379,7 +384,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -393,7 +398,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -408,7 +413,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -417,22 +422,22 @@ msgstr ""
 "\n"
 "Отчёты об ошибках отправляйте по адресу: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Отчёты об ошибках %s отправляйте по адресу <%s>\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: %s\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Домашняя страница %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Справка по работе с ПО GNU: <http://www.gnu.org/gethelp/>\n"
 
@@ -602,8 +607,8 @@ msgstr ""
 "Работа с накопителем на магнитной ленте с приёмом команд от удалённого "
 "процесса"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "N"
 
@@ -611,10 +616,11 @@ msgstr "N"
 msgid "set debug level"
 msgstr "задайте уровень отладки"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "ФАЙЛ"
 
@@ -627,7 +633,7 @@ msgstr "задайте имя выходного файла отладки"
 msgid "cannot open %s"
 msgstr "не удаётся открыть %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "слишком много аргументов"
@@ -636,67 +642,66 @@ msgstr "слишком много аргументов"
 msgid "Garbage command"
 msgstr "Неверная команда"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Это не похоже на tar-архив"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Всего прочитано байт"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Всего записано байт"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Всего удалено байт: %s\n"
+msgstr "Всего удалено байт"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Отказ чтения содержимого архива с терминала (пропущен параметр -f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Отказ записи содержимого архива в терминал (пропущен параметр -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Недопустимое значение для record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Не указано имя архива"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Не удаётся проверить архив на stdin/stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архив сжат. Используйте параметр %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Не удаётся обновить сжатые архивы"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Начало ленты, завершение работы"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Слишком много ошибок, завершение работы"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -704,7 +709,7 @@ msgstr[0] "Размер записи = %lu блок"
 msgstr[1] "Размер записи = %lu блока"
 msgstr[2] "Размер записи = %lu блоков"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -712,39 +717,39 @@ msgstr[0] "Невыровненный блок (%lu байт) в архиве"
 msgstr[1] "Невыровненный блок (%lu байта) в архиве"
 msgstr[2] "Невыровненный блок (%lu байт) в архиве"
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Невозможно вернуться назад на один архивный файл; он может быть нечитаемым "
 "без -i"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek не остановился на границе записи"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: содержит неверный номер тома"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Переполнение номера тома"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Приготовьте том Номер %d для %s и нажмите Enter: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Конец файла вместо ожидаемого ответа пользователя"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: Архив не полный"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -756,66 +761,66 @@ msgstr ""
 " q             Выход из tar\n"
 " y или [нов.строка] Продолжение операции\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Порождение подпроцесса командного процессора\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Вывод этого списка\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Нет нового тома, завершение работы.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Не указано имя имя файла. Попробуйте ещё раз.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Неверные входные данные. Наберите ? для получения справки.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "Сбой команды %s"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s не продолжается на этом томе"
+
+#: src/buffer.c:1523
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s, возможно, продолжается на этом томе - в заголовке находится усечённое имя"
 
-#: src/buffer.c:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s не продолжается на этом томе"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s является неверным размером (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Этот том вне последовательности (%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Метка архива не соответствует %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Том %s не соответствует %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -823,7 +828,7 @@ msgstr ""
 "%s: слишком длинное имя файла для сохранения в многотомном заголовке GNU; "
 "обрезано"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "запись не остановилась на границе блока"
 
@@ -835,20 +840,20 @@ msgstr[0] "Можно было прочитать только %lu байт из
 msgstr[1] "Можно было прочитать только %lu байта из %lu"
 msgstr[2] "Можно было прочитать только %lu байт из %lu"
 
-#: src/compare.c:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Содержимое различно"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Неожиданный конец файла в архиве"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Типы файлов отличаются"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Права доступа отличаются"
 
@@ -864,7 +869,7 @@ msgstr "Gid отличаются"
 msgid "Mod time differs"
 msgstr "Время изменения отличается"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Размеры отличаются"
 
@@ -873,37 +878,37 @@ msgstr "Размеры отличаются"
 msgid "Not linked to %s"
 msgstr "Не ссылается на %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Символические ссылки отличаются"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Номера устройств отличаются"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Проверка "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Неизвестный тип файла «%c», сравнён как обычный файл"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Архив содержит файлы с именами, из которых удалены префиксы."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Архив содержит преобразованные имена файлов."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "При проверке оригинальные файлы могут быть не найдены."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -911,46 +916,46 @@ msgstr[0] "СБОЙ ПРОВЕРКИ: обнаружен %d неверный з
 msgstr[1] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовка"
 msgstr[2] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовков"
 
-#: src/compare.c:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Нулевой блок в %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: содержит каталог с кэшем тегов %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "значение %s за пределами %s диапазона %s..%s; заменяется на %s"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "значение %s за пределами %s диапазона %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Создаются отрицательные восьмеричные заголовки"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: имя файла слишком длинное (максимум %d); не сброшено"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: имя файла слишком длинное (не может быть разделено); не сброшено"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: имя ссылки слишком длинное; не сброшено"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -958,55 +963,55 @@ msgstr[0] "%s: Файл урезан на %s байт; дополнен нуля
 msgstr[1] "%s: Файл урезан на %s байта; дополнен нулями"
 msgstr[2] "%s: Файл урезан на %s байт; дополнен нулями"
 
-#: src/create.c:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл находится на другой файловой системе; не сброшен"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "содержимое не сброшено"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Неизвестный тип файла; файл проигнорирован"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Отсутствуют ссылки на %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: файл не изменён; не сброшен"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: файл является архивом; не сброшен"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "каталог не сброшен"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: файл изменился во время чтения"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: сокет проигнорирован"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door проигнорирован"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Пропускается до следующего заголовка"
 
@@ -1024,54 +1029,54 @@ msgstr "%s: невероятно старая временная метка %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: временная метка %s - %s с в будущем "
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Неожиданная противоречивость при создании каталога"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: пропускается существующий файл"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s: Каталог переименован до того, как мог быть извлечен его статус"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Непрерывные файлы извлекаются как обычные"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Выполняется попытка извлечь символические ссылки как жесткие"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Невозможно извлечь -- файл продолжается с другого тома"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Непредвиденный длинный заголовок имени"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Неизвестный тип файла «%c», извлечён как обычный файл"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Текущий %s более новый или такого же возраста"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Невозможно было выполнить резервное копирование этот файла"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Невозможно переименовать %s в %s"
@@ -1121,16 +1126,16 @@ msgstr "Неверный номер inode"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: байт %s: %s %.*s... слишком длинное"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Неожиданный конец файла в snapshot-файле"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: байт %s: %s %s следует за неправильным байтом 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1139,113 +1144,113 @@ msgstr ""
 "%s: байт %s: (допустимый диапазон %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: байт %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: байт %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Отсутствует указатель конца записи"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Неверный формат инкрементного файла"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Неподдерживаемая версия инкрементного формата: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Неверно сформирован dump-каталог: ожидался '%c', а найден %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Неверно сформирован dump-каталог: 'X' повторяется"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Неверно сформирован dump-каталог: пустое имя в 'R'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr "Неверно сформирован dump-каталог: перед 'T' не стоит 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
+msgstr "Неверно сформирован dump-каталог: перед «T» не стоит «R»"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Неверно сформирован dump-каталог: пустое имя в 'T'"
+msgstr "Неверно сформирован dump-каталог: пустое имя в «T»"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Неверно сформирован dump-каталог: ожидался '%c', а найден конец данных"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Неверно сформирован dump-каталог: 'X' ни разу не использован"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Невозможно создать временный каталог с помощью шаблона %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Каталог не удалён: невозможно выполнить stat"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: Каталог находится на другом устройстве: не удален"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Удаляется %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Невозможно удалить"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Пропускается"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** Блок нулей **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Конец файла **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1253,87 +1258,87 @@ msgstr ""
 "дополнение до двух"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Восьмеричное значение архива %.*s за пределами диапазона %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архив содержит устаревающие заголовки base-64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Архив подписан строкой base-64 %s за пределами диапазона %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Значение архива %s за пределами %s диапазона %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " ссылка на %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " неизвестный тип файла %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Длинная ссылка--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Длинное имя--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Заголовок тома--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Продолжение с позиции %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Создание каталога:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s переименован в %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Невозможно переименовать в %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s переименовывается назад в %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Файла удален до его считывания"
@@ -1346,30 +1351,188 @@ msgstr "дочерний процесс"
 msgid "interprocess channel"
 msgstr "межпроцессорный канал"
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Имя выбранного локального файла:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+"добавить указанный ФАЙЛ в архив (полезно, если имя начинается с дефиса)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "КАТАЛОГ"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "перейти в КАТАЛОГ"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "загрузить из ФАЙЛА имена для извлечения или создания"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+"-T читает строки, оканчивающиеся null; подразумевается --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "выключить воздействие предыдущей опции --null"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "убрать кавычки в имени входного файла или членов (по умолчанию)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "не убирать кавычки в имени входного файла или членов (по умолчанию)"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T читает имена файлов буквально (не считаются параметрами)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+"-T считает имена файлов, начинающихся с переноса, параметрами (по умолчанию)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "ШАБЛОН"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "исключать файлы, определённые ШАБЛОНОМ"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "исключать шаблоны, перечисленных в ФАЙЛЕ"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"исключать содержимое каталогов с файлом CACHEDIR.TAG за исключением самого "
+"файла с тегами"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "исключать всё содержимое каталогов, содержащих файл CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "исключать каталоги, содержащие файл CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "исключать каталоги, содержащие ФАЙЛ, за исключением самого ФАЙЛА"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+"читать шаблоны исключения для каждого каталога из ФАЙЛА, если он существует"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"читать шаблоны исключения для каждого каталога и его подкаталогов из ФАЙЛА, "
+"если он существует"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "исключать всё содержимое каталогов, содержащих ФАЙЛ"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "исключать каталоги с ФАЙЛОМ"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "исключать каталоги CVS"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "читать шаблоны исключения из файлов игнорирования VCS"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "исключать резервные файлы и файлы блокировки"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "рекурсивный спуск по каталогам (по умолчанию)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "отключить автоматический спуск в каталоги"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"Опции шаблонов подстановки для имён файлов (влияют на шаблоны включения и "
+"исключения):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "шаблоны начала имени файла"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "шаблоны совпадают после любого «/» (по умолчанию для исключаемых)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "игнорировать регистр"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "с учётом регистра (по умолчанию)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "использовать маски (по умолчанию для исключаемых)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "точное соответствие строке"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "маски соответствуют «/» (по умолчанию для исключаемых)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "маски не соответствуют «/»"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "командная строка"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: список файлов, запрошенный из %s, уже прочитан из %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "невозможно разделить строку «%s»: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: в прочитанном имени файла присутствует пустой символ"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "В именах файлов используются символы подстановки"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1377,48 +1540,48 @@ msgstr ""
 "Используйте --wildcards, чтобы задействовать эти символы, или --no-"
 "wildcards, чтобы убрать это предупреждение"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Не найден в архиве"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Требуемое вхождение не найдено в архиве"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Несоответствие метки архива"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Параметра -C в списке файлов нельзя Использовать с параметром --listed-"
 "incremental"
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 "С параметром --listed-incremental можно использовать только параметр -C"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Для обоих параметров «-%s» и «-%s» требуется стандартный ввод"
+msgstr "Для обоих параметров «%s» и «%s» требуется стандартный ввод"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Неверный формат архива"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Запрошены расширения GNU для несовместимого формата архива"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1426,7 +1589,7 @@ msgstr ""
 "Неизвестный стиль цитирования «%s». Воспользуйтесь «%s --quoting-style=help» "
 "для получения полного списка."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1445,7 +1608,7 @@ msgstr ""
 "                               в архиве archive.tar.\n"
 "  tar -xf archive.tar          # Извлекает все файлы из archive.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1466,80 +1629,88 @@ msgstr ""
 "                   иначе простые\n"
 "  never, simple   всегда создавать простые резервные копии\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Основной режим работы:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "вывод списка содержимого архива"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "извлечение файлов из архива"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "создание нового архива"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "поиск различий между архивом и файловой системой"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "добавление файлов в конец архива"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "добавление в архив только более новых файлов"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "присоединение tar-файлов к архиву"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "удаление из архива (не на магнитных лентах!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "проверка метки тома архива и выход"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Модификаторы:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "эффективная обработка разрежённых файлов"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "ТИП"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "метод определения дыр"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 "установить версию используемого формата разрежения (подразумевает --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "обработка добавочного резервирования старого формата GNU"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "обработка добавочного резервирования нового формата GNU"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "уровень копирования для созданного разностного архива со списком"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "не завершать работу при ненулевом статусе для нечитаемых файлов"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1551,143 +1722,152 @@ msgstr ""
 "list, и когда список файлов задан либо в командной строке, либо через опцию -"
 "T. По умолчанию N равен 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "доступен поиск по архиву"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "поиск по архиву недоступен"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "не проверять номера устройств при создании инкрементных архивов"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "проверять номера устройств при создании инкрементных архивов (по умолчанию)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Управление перезаписью:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "попытка проверить архив после его записи"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "удаление файлов после их добавления в архив"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 "не перезаписывать существующие файлы при извлечении, считать это ошибкой"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "не перезаписывать существующие файлы при извлечении, просто пропускать их"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 "не перезаписывать существующие файлы, которые более новые, чем их копии в "
 "архиве"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "перезапись существующих файлов при извлечении"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "удаление каждого файла до извлечения поверх него"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "очистка всей иерархии до извлечения каталога"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "сохранение метаданных существующих каталогов"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "перезапись существующих файлов при извлечении (по умолчанию)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "сохранить существующие символьные файлы на каталоги при извлечении"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "КАТАЛОГ"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "создавать подкаталог, чтобы избежать потери извлекаемых файлов"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Выбор выходного потока:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "извлекать файлы на стандартный вывод"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "перенаправлять извлечённые файлы в другую программу"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "игнорировать коды завершения дочерних процессов"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "считать ненулевые коды завершения дочерних процессов как ошибку"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Обработка атрибутов файлов:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr ""
 "принудительно устанавливать ИМЯ в качестве владельца для добавленных файлов"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr ""
 "принудительно устанавливать ИМЯ в качестве группы для добавленных файлов"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "использовать ФАЙЛ для сопоставления UID владельцев файла и имён"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "использовать ФАЙЛ для сопоставления GID владельцев файла и имён"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-ИЛИ-ФАЙЛ"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "устанавливать для добавленных файлов mtime из ДАТЫ-ИЛИ-ФАЙЛА"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "РЕЖИМ"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 "принудительно устанавливать (символьный) РЕЖИМ доступа для добавляемых файлов"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "СПОСОБ"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1697,11 +1877,11 @@ msgstr ""
 "после чтения (СПОСОБ='replace'; используется по умолчанию) или не установки "
 "времени в первую очередь (СПОСОБ='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "не извлекать время изменения файла"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1709,22 +1889,22 @@ msgstr ""
 "попытаться извлечь файлы с тем же владельцем, что и в архиве (по умолчанию "
 "для супепользователя)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 "извлекать файлы как свои собственные (по умолчанию для обычных пользователей)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "использовать числа вместо имён владельца/группы"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "извлекать информацию о правах доступа к файлу (по умолчанию для "
 "суперпользователя)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1732,16 +1912,12 @@ msgstr ""
 "применять umask пользователя при извлечении прав доступа из архива (по "
 "умолчанию для обычных пользователей)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr "члены-аргументы перечислены в том же порядке как файлы в архиве"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "эквивалент -p и -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1749,188 +1925,188 @@ msgstr ""
 "не устанавливать время изменения и права доступа извлечённых каталогов до "
 "завершения процесса извлечения"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "отменить действие параметра --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ПОРЯДОК"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "порядок сортировки каталога: none (по умолчанию) или name"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Обработка расширенных атрибутов файлов:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Включить поддержку расширенных атрибутов"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Отключить поддержку расширенных атрибутов"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "МАСКА"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "задаёт шаблон включаемых ключей xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "задаёт шаблон исключаемых ключей xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Включить поддержку контекста SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Отключить поддержку контекста SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Включить поддержку POSIX ACL"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Отключить поддержку POSIX ACL"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Выбор и переключение устройств:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "АРХИВ"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "использовать файл или устройство АРХИВ"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "файл архива является локальным, даже если содержит двоеточие"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "использовать указанную КОМАНДУ rmt вместо rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "использовать удалённую КОМАНДУ вместо rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "указать устройство и плотность"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "создание/листинг/извлечение многотомных архивов"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "сменить ленту после записи ЧИСЛО x 1024 байт"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 "запустить скрипт по окончании каждой ленты (подразумевается использование -М)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "использовать/обновлять номера тома в ФАЙЛЕ"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Разбиение на блоки:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "БЛОКИ"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "число БЛОКОВ x 512 байт на запись"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "ЧИСЛО байт на запись, кратное 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "игнорировать нулевые блоки в архиве (т.е. EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "заново разбивать на блоки при чтении (для каналов 4.2BSD)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Формата архива:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "создать архив в указанном формате"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "ФОРМАТОМ может быть:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "старый формат tar V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "формат GNU как в tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "формат GNU tar 1.13.х"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "формат POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "формат POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "эквивалент pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "эквивалент --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "эквивалент --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "keyword[[:]=значение][,keyword[[:]=значение]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "управляющие ключевые слова pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1938,182 +2114,81 @@ msgstr ""
 "создать архив с именем тома ТЕКСТ; при листинге/извлечении использовать "
 "ТЕКСТ в качестве шаблона подстановки"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Опции сжатия:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "использовать суффикс архива для определения программы сжатия"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "не использовать суффикс архива для определения программы сжатия"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "ПРОГ"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "пропустить архив через ПРОГ (должна поддерживать -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Выбор локальных файлов:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-"добавить указанный ФАЙЛ в архив (полезно, если имя начинается с дефиса)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "перейти в КАТАЛОГ"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "загрузить из ФАЙЛА имена для извлечения или создания"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T читает строки, оканчивающиеся нулём, отключает опцию -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "выключить воздействие предыдущей опции --null"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "убрать кавычки с имён файлов, прочитанных с опцией -T (по умолчанию)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "не убирать кавычки с имён файлов, прочитанных с опцией -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "ШАБЛОН"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "исключать файлы, определённые ШАБЛОНОМ"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "исключать шаблоны, перечисленных в ФАЙЛЕ"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"исключать содержимое каталогов с файлом CACHEDIR.TAG за исключением самого "
-"файла с тегами"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "исключать всё содержимое каталогов, содержащих файл CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "исключать каталоги, содержащие файл CACHEDIR.TAG"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "исключать каталоги, содержащие ФАЙЛ, за исключением самого ФАЙЛА"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "исключать всё содержимое каталогов, содержащих ФАЙЛ"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "исключать каталоги с ФАЙЛОМ"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "исключать каталоги CVS"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "исключать резервные файлы и файлы блокировки"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "отключить автоматический спуск в каталоги"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "оставаться в локальной файловой системе при создании архива"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "рекурсивный спуск по каталогам (по умолчанию)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "не удалять начальные «/» из имён файлов"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "следовать по символьным ссылкам и сохранять файлы, на которые они указывают"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "следовать по жёстким ссылкам и сохранять файлы, на которые они указывают"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "ИМЯ-ЧЛЕНА"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "начинать с члена ИМЯ-ЧЛЕНА при чтении архива"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "сохранять только те файлы, которые новее ДАТЫ-ИЛИ-ФАЙЛА"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "сравнивать дату и время, только если изменены данные"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "УПРАВЛЕНИЕ"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "делать копию перед удалением, УПРАВЛЕНИЕ выбора версий"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "СТРОКА"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2121,101 +2196,63 @@ msgstr ""
 "делать копию перед удалением, переопределяет обычный суффикс ('~', если "
 "только он не переопределён переменной окружения SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Преобразование имён файлов:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "удалять указанное ЧИСЛО начальных компонентов из имён файлов перед "
 "извлечением"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "РАСШИРЕНИЕ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "использовать замену РАСШИРЕНИЯ sed'ом для преобразования имён файлов"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-"Опции шаблонов подстановки для имён файлов (влияют на шаблоны включения и "
-"исключения):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "игнорировать регистр"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "шаблоны начала имени файла"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "шаблоны совпадают после любого «/» (по умолчанию для исключаемых)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "с учётом регистра (по умолчанию)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "использовать маски (по умолчанию для исключаемых)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "точное соответствие строке"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "маски не соответствуют «/»"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "маски соответствуют «/» (по умолчанию для исключаемых)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Вывод информации:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "подробный листинг обрабатываемых файлов"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "КЛЮЧЕВОЕ СЛОВО"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "управление предупреждением"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "вывод сообщений о ходе выполнения через каждые ЧИСЛО записей (по умолчанию "
 "10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ДЕЙСТВИЕ"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "выполнять ДЕЙСТВИЕ на каждой контрольной точке"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "вывод сообщений, если сохранены не все ссылки"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2227,35 +2264,35 @@ msgstr ""
 "SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2. Также разрешается использовать имена без "
 "префикса SIG"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "вывод времени изменения файла в формате UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "вывод имени файла и его полного разрешения"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "отправить подробный вывод данных в FILE"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "выводить номера блоков архива в каждом сообщении"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "запрашивать подтверждение для каждого действия"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "показать значения tar по умолчанию"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "показать допустимые диапазоны для полей snapshot-файла"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2263,31 +2300,31 @@ msgstr ""
 "при выводе листинга или извлечении показывать все каталоги, не "
 "соответствующем условию поиска"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "показывать имена файлов или архивов после преобразования"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "установить стиль цитирования имён. Значения для СТИЛЯ см. ниже"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "дополнительно цитировать символы из СТРОКИ"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "отключить цитирование символов из СТРОКИ"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Опции совместимости:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2295,15 +2332,22 @@ msgstr ""
 "при создании, эквивалент --old-archive; при извлечении, эквивалент --no-same-"
 "owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Другие опции:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "отключить использование некоторых потенциально опасных опций"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "«%s» не может быть использован с «%s»"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2311,40 +2355,40 @@ msgstr ""
 "Указать можно только один из параметров «-Acdtrux», «--delete» или «--test-"
 "label»"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Конфликт опций сжатия"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Неизвестное название сигнала: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Файл с образцом даты не найден"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s заменяется на неизвестный формат даты %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Опция %s: дата «%s» рассматривается как %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "пропустить архив через %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Допустимые аргументы для параметра --quoting-style:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2352,115 +2396,120 @@ msgstr ""
 "\n"
 "Значения по умолчанию *этого* tar:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Неверный владелец или группа"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Неверный размер ёмкости блока"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Неверная длина ленты"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Недопустимое значение добавочного уровня"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Больше одной пороговой даты"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Неверное значение версии разрежения"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' не поддерживается на этой платформе"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "значение --checkpoint не является целым числом"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "В опции указан неверный режим доступа"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Неверное число"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Опция --preserve устарела, используйте --preserve-permissions --preserve-"
-"order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Неверный размер записи"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Размер записи должен быть кратен %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Неверное число элементов"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Разрешается использовать только одну опцию --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Неверно сформирован аргумент плотности: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Неизвестная плотность: «%c»"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Опции «-[0-7][lmh]» не поддерживаются *этим* tar-ом"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: место ошибки"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "ошибка разбора %s"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]…"
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "--%s не может быть использована с %s"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "аргументы, не являющиеся параметрами, в %s"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "невозможно разделить TAR_OPTIONS: %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Для старой опции «%c» нужно указать аргумент."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence бесполезна без списка файлов"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Для нескольких файлов архивов требуется опция «-M»"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "параметр --level не имеет смыла без --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2468,71 +2517,77 @@ msgstr[0] "%s: Метка тома слишком длинная (максиму
 msgstr[1] "%s: Метка тома слишком длинная (максимум %lu байта)"
 msgstr[2] "%s: Метка тома слишком длинная (максимум %lu байт)"
 
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Невозможно проверить многотомные архивы"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Невозможно проверить сжатые архивы"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Невозможно использовать многотомные сжатые архивы"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Невозможно объединить сжатые архивы"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option может быть использована только с архивами POSIX"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls может быть использована только с архивами POSIX"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux может быть использована только с архивами POSIX"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs может быть использована только с архивами POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Невозможно определить имя каталога верхнего уровня; укажите его явно с "
+"помощью --one-top-level=КАТАЛОГ"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Размер тома не может быть меньше размера записи"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Робкий отказ от создания пустого архива"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Параметры «-Aru» не совместимы с «-f -»"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Необходимо указать один из параметров «-Acdtrux», «--delete» или «--test-"
 "label»"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Завершение работы с состоянием неисправности из-за возникших ошибок"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "порядок сортировки каталога: none (по умолчанию), name или inode"
 
 #: src/update.c:87
 #, c-format
@@ -2589,7 +2644,7 @@ msgstr ""
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Игнорируется неизвестное ключевое слово расширенного заголовка «%s»"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2598,29 +2653,29 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Расширенный заголовок %s=%s за пределами диапазона %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Неверно сформирован расширенный заголовок: неверный %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Неверно сформирован расширенный заголовок: превышен %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Неверно сформирован расширенный заголовок: неверный %s: непредвиденный "
 "разделитель %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2663,7 +2718,7 @@ msgstr "Контрольная точка записи %u"
 msgid "Read checkpoint %u"
 msgstr "Контрольная точка чтения %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2672,70 +2727,74 @@ msgstr ""
 "от GNU.\n"
 "ОПЦИИ:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Опции создания файла:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "РАЗМЕР"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Создание файла указанного РАЗМЕРА"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Запись в файл с ИМЕНЕМ, а не на стандартный вывод"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Чтение имён файла из ФАЙЛА"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T читает строки, оканчивающиеся нулём"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Заполнение файла заданным ШАБЛОНОМ. ШАБЛОН - это 'default' или 'zeros'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Размер блока для разрежённого файла"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Создание разрежённого файла. Остальная часть команды определяет карту файла."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "СМЕЩЕНИЕ"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Искать до указанного смещения перед записью данных"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Параметры статистики по файлам:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Вывод содержимого структуры stat для всех указанных файлов. ФОРМАТ по "
 "умолчанию:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Параметры синхронного выполнения:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "ПАРАМЕТР"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2743,21 +2802,21 @@ msgstr ""
 "Выполнение АРГУМЕНТОВ. Полезно с параметром --checkpoint и одним из --cut, --"
 "append или --touch"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Выполнение указанного действия (см. ниже) до достижения контрольной точки с "
 "заданным НОМЕРОМ"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Указание даты для следующего параметра --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Показать выполненные контрольные точки и статус выхода КОМАНДЫ"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2765,7 +2824,7 @@ msgstr ""
 "Синхронное выполнение действий. Они выполняются при достижении контрольной "
 "точки с номером, определённым опцией --checkpoint."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2773,154 +2832,164 @@ msgstr ""
 "Усечь ФАЙЛ до размера, определённого предыдущей опцией --length (или 0, если "
 "не указан)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Добавить РАЗМЕР байт к ФАЙЛУ. РАЗМЕР определяется предыдущей опцией --length."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Обновить время последнего доступа и изменения ФАЙЛА."
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Выполнить КОМАНДУ"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Разорвать связь с ФАЙЛОМ"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Недопустимый размер: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Число за пределами допустимого диапазона: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Отрицательный размер: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "Сбой stat(%s)"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "запрошенная длина файла %lu, реальная %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "созданный файл не является разреженным"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Ошибка разбора числа возле `%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Неизвестный формат даты"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТЫ...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "невозможно открыть `%s'"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "невозможно найти"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "в имени файла присутствует пустой символ"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "невозможно вывести разрежённые файлы на стандартный вывод; используйте опцию "
 "--file"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "неверная маска (возле `%s')"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Неизвестное поле `%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "невозможно установить время в `%s'"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "не удалось обрезать «%s»"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "сбой команды: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "не удалось удалить «%s»"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Команда успешно выполнена\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Сбой команды; состояние: %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Команда завершена по сигналу %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Команда остановлена по сигналу %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Команда сбросила дамп памяти\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Команда завершена\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "для опции --stat нужны имена файлов"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "эквивалент -p и -s"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Опция --preserve устарела, используйте --preserve-permissions --preserve-"
+#~ "order"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "--occurrence не может быть использована с %s"
 
index fcbd2017747107531fee5c988a889becce236540..e7d231ac455dd252afa3d1feb8587f630e345194 100644 (file)
Binary files a/po/sk.gmo and b/po/sk.gmo differ
index 26740cdd3d4ac8698b9a5101cf9b9aa423e729c5..3f2cd0920ac1b9bdc1b4899e774a0c50e910463d 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -2,12 +2,12 @@
 # Copyright (C) 1997 Free Software Foundation, Inc.
 # Martin Lacko <lacko@host.sk>, 2001.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar- \n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2002-02-10 12:00CEST\n"
 "Last-Translator: Martin Lacko <lacko@host.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -17,72 +17,72 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 0.9.5\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "argument %s je pre %s neplatný"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "argument %s nie je pre %s jednoznaèný"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Platné argumenty sú:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr ""
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr ""
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr ""
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr ""
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 #, fuzzy
 msgid " [OPTION...]"
 msgstr ""
 "\n"
 "Pou¾itie: %s [PREPÍNAÈ]...\n"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 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:1714
+#: gnu/argp-help.c:1716
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -91,121 +91,126 @@ msgstr ""
 "pripomienky k pkekladu zasielajte na adresu <sk-i18n@lists.linux.sk> "
 "(slovensky).\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Neznáma systémová chyba"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr ""
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr ""
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr ""
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr ""
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr ""
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr ""
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, fuzzy, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: prepínaè `%s' vy¾aduje argument\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: prepínaè %s nie je jednoznaèný\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: prepínaè `-W %s' nie je jednoznaèný\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, fuzzy, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: prepínaè `%s' vy¾aduje argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, fuzzy, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: neznámy prepínaè `--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, fuzzy, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: neznámy prepínaè `%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, fuzzy, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: neznámy prepínaè -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, fuzzy, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: prepínaè vy¾aduje argument -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, 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:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, fuzzy, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: prepínaè `%s' vy¾aduje argument\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "Pamä» vyèerpaná"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Pracovný adresár nie je mo¾né zmeni»"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Pracovný adresár nie je mo¾né uchova»"
@@ -231,11 +236,11 @@ msgstr "Pracovn
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -245,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr ""
 
@@ -255,16 +260,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -272,11 +277,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -287,19 +292,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, fuzzy, c-format
 msgid "Written by %s.\n"
 msgstr "Written by F. Pinard."
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, fuzzy, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Written by F. Pinard."
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, fuzzy, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Written by F. Pinard."
@@ -307,7 +312,7 @@ msgstr "Written by F. Pinard."
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -317,7 +322,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -327,7 +332,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -337,7 +342,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +352,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -358,7 +363,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -369,7 +374,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -381,7 +386,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -392,22 +397,22 @@ msgstr ""
 "pripomienky k pkekladu zasielajte na adresu <sk-i18n@lists.linux.sk> "
 "(slovensky).\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, fuzzy, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Premenovávám %s spä» na %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -586,8 +591,8 @@ msgstr ""
 "  --version     Vypí¹e oznaèenie verzie\n"
 "  --help        Vypí¹e túto nápovedu\n"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr ""
 
@@ -595,10 +600,11 @@ msgstr ""
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr ""
 
@@ -611,7 +617,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr "Nedá sa zatvori»"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -620,112 +626,111 @@ msgstr ""
 msgid "Garbage command"
 msgstr "Neznámy príkaz"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Toto pravdepodobne nie je tar archiv"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Celkom zapísané bajtov: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Celkom zapísané bajtov: %s (%sB, %sB/s)\n"
+msgstr ""
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(rúra)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Chybná hodnota pre veµkos» záznamu"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Meno archívu nebolo zadané"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Stdin/Stdout archív nie je mo¾né otvori»"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Komprimovaný archív nie je mo¾né aktualizova»"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Páska na zaèiatku, konèím"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Príli¹ mnoho chýb, konèím"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: vracia chybné èíslo zväzku"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Èíslo zväzku preteèené"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Namiesto u¾ívateµskej odpovede bol zadaný koniec súboru"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROVANIE: Archiv je nekompletný"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -737,71 +742,71 @@ msgstr ""
 " !          Vytvorenie podshellu\n"
 " ?          Vypísanie tejto nápovedy\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Nie je nový zväzok; konèím.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "'%s' príkaz zlyhal"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nepokraèuje na tomto zväzku"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je chybnej då¾ky (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Zväzok %s nezodpovedá vzorke %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr ""
 
@@ -812,20 +817,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Obsah sa lí¹i"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Neoèekávaný koniec archívu"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Typ súboru sa lí¹i"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Práva sa lí¹ia"
 
@@ -841,7 +846,7 @@ msgstr "Gid sa l
 msgid "Mod time differs"
 msgstr "Èas poslednej úpravy sa lí¹i"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Veµkos» sa lí¹i"
 
@@ -850,139 +855,139 @@ msgstr "Ve
 msgid "Not linked to %s"
 msgstr "Nie je odkazom na %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symbolický odkaz sa lí¹i"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Èíslo zariadenia sa lí¹i"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Overujem "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:539
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Archív obsahuje zastaralé base-64 hlavièky"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "hodnota %s typu %s je mimo rozsah %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Generujem záporné osmièkové hlavièky"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: súbor nie je zmenený; neaktualizovaný"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Neznámy typ súboru; súbor ignorovaný"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr " odkaz na %s\n"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: súbor nie je zmenený; neaktualizovaný"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: súbor je archiv; nearchivovaný"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: súbor bol poèas èítania zmenený"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket ignorovaný"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: dvere ignorované"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Preskakujem na ïal¹iu hlavièku"
 
@@ -1000,56 +1005,56 @@ msgstr ""
 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:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Neoèakávaná nekonzistencia, pri vytvárení adresára"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Súvisle ulo¾ené súbory rozbaµujem ako obyèajné súbory"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Skú¹am rozbali» symbolické odkazy ako pevné odkazy"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Neoèakávaný koniec v rozsekanom mene"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tento súbor nebolo mo¾né zálohova»"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: nie je mo¾né premenova» na %s"
@@ -1100,130 +1105,130 @@ msgstr "Neplatn
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Neoèekávaný koniec archívu"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, 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:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Ma¾em %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Nedá sa zmaza»"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Vynechávam"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok NUL **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec súboru **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1231,87 +1236,87 @@ msgstr ""
 "complement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archív obsahuje zastaralé base-64 hlavièky"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " odkaz na %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " neznámy typ súboru %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Hlavièka zväzku--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Pokraèované od %s bajtu--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Vytváram adresár:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Premenovávam %s na %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: nie je mo¾né premenova» na %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Premenovávám %s spä» na %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Súbor zmazaný skôr ako mohl by» èítaný"
@@ -1324,81 +1329,232 @@ msgstr "potomok"
 msgid "interprocess channel"
 msgstr "meziprocesový kanál"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Odporujúce si archívne formáty"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr ""
+
+#: src/names.c:73
+#, fuzzy
+msgid "change to directory DIR"
+msgstr "Pracovný adresár nie je mo¾né zmeni»"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr ""
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr ""
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr ""
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr ""
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr ""
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr ""
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr ""
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr ""
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr ""
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "Zväzok %s nezodpovedá vzorke %s"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "'%s' príkaz zlyhal"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: V archíve nenájdený"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: V archíve nenájdený"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, 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:164
+#: src/tar.c:165
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Chybná skupina"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU roz¹írenia po¾adované na nekompatibilnom formáte archívu"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1417,7 +1573,7 @@ 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:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1443,80 +1599,88 @@ msgstr ""
 "                  existujú, inak tvorí jednoduché\n"
 "  never, simple   tvorí v¾dy jednoduché zálo¾né kópie súborov\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:425
+#: src/tar.c:401
 #, fuzzy
 msgid "create a new archive"
 msgstr "Neoèekávaný koniec archívu"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1524,640 +1688,511 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr ""
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr ""
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:516
+#: src/tar.c:494
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Chyba pri zápise na ¹tandardný výstup"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr ""
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr ""
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:609
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Víczväzkový archív nie je mo¾né otvori»"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:653
+#: src/tar.c:635
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Odporujúce si archívne formáty"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 #, fuzzy
 msgid "Compression options:"
 msgstr "Odporujúce si kompresné prepínaèe"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#: src/tar.c:712
-#, fuzzy
-msgid "change to directory DIR"
-msgstr "Pracovný adresár nie je mo¾né zmeni»"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr ""
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr ""
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr ""
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr ""
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr ""
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr ""
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr ""
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Odstraòujem úvodné `%.*s' z názvov súborov"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "Zväzok %s nezodpovedá vzorke %s"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2165,306 +2200,324 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s"
+
+#: src/tar.c:934
 #, fuzzy
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Odporujúce si kompresné prepínaèe"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " neznámy typ súboru %s\n"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Dátumový súbor nebol nájdený"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, 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:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Neplatný vlastník"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Neplatný poèet bajtov na záznam"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Neplatná då¾ka pásky"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Viac ako jeden poèiatoèný dátum"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Zadáné chybné práva"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 #, fuzzy
 msgid "Invalid number"
 msgstr "Neplatné èíslo i-uzlu"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Chybná veµkos» záznamu"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Veµkos» záznamu musí by» násobok %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Neplatná då¾ka pásky"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr ""
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr ""
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr ""
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s"
+msgid "non-option arguments in %s"
+msgstr "argument %s je pre %s neplatný"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr ""
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Prepínaè `%c' vy¾aduje argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Viac archivaèných súborov vy¾aduje prepínaè `-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Víczväzkový archív nie je mo¾né otvori»"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Komprimovaný archív nie je mo¾né otvori»"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Viaczväzkový komprimovaný archív nie je mo¾né vytvori»"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimovaný archív nie je mo¾né aktualizova»"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vytvorenie prázdneho archívu odmietnuté."
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, 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:2766
+#: src/tar.c:2716
 #, fuzzy
 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:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2521,34 +2574,34 @@ msgstr ""
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2589,254 +2642,255 @@ msgstr "Zapisujem testovac
 msgid "Read checkpoint %u"
 msgstr "Èítanie testovacieho bodu %d"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Generujem datové súbory pre testovanie GNU taru.\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 #, fuzzy
 msgid "File creation options:"
 msgstr "Odporujúce si kompresné prepínaèe"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "Chyba pri zápise na ¹tandardný výstup"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr ""
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Neplatný èas súboru"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Èíslo i-uzlu mimo rozsah"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Neznáma systémová chyba"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 #, fuzzy
 msgid "cannot seek"
 msgstr "Nedá sa zatvori»"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " neznámy typ súboru %s\n"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s: nie je mo¾né premenova» na %s"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "'%s' príkaz zlyhal"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "%s: Odkaz na `%s' nie je mo¾né vytvori»"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Potomok bol ukonèený signálom %d"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Rozdelené meno súboru--\n"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "--listed-incremental a --newer nie je mo¾né kombinova»"
-
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: neznámy prepínaè -- %c\n"
 
@@ -3314,6 +3368,9 @@ msgstr "--Rozdelen
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Autori: John Gilmore a Jay Fenlason."
 
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "--listed-incremental a --newer nie je mo¾né kombinova»"
+
 #~ msgid "Error exit delayed from previous errors"
 #~ msgstr "Za behu programu nastala chyba"
 
index 0287da69978f0ecf56dbf298542e9f64ab5e658c..e8125f61e3311a5d42e7bc873272b2242d78aa20 100644 (file)
Binary files a/po/sl.gmo and b/po/sl.gmo differ
index 6f703813229cb27d7658370a59335735aa47a509..b420a70bbe64b42009157eb44867219deb9feb2b 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -1,16 +1,16 @@
 # -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU Tar
-# Copyright (C) 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013, 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
-# Primož Peterlin <primozz.peterlin@gmail.com>, 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013.
+# Primož Peterlin <primozz.peterlin@gmail.com>, 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013, 2014.
 #
-# $Id: tar-1.27.sl.po,v 1.3 2013/12/13 21:58:56 peterlin Exp $
-#: src/create.c:1574
+# $Id: tar-1.28.sl.po,v 1.2 2014/11/16 20:25:23 peterlin Exp $
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.27\n"
+"Project-Id-Version: tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-12-13 22:58+0100\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2014-11-16 21:24+0100\n"
 "Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
 "Language: sl\n"
@@ -20,46 +20,46 @@ msgstr ""
 "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
 "%100==4 ? 3 : 0);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "neveljaven argument %s za %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "dvoumen argument %s za %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Veljavni argumenti so:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: parameter ARGP_HELP_FMT zahteva podano vrednost"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: neznan parameter ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Smetje v ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -67,143 +67,148 @@ msgstr ""
 "Argumenti, ki so bodisi obvezni bodisi neobvezni za dolge oblike izbir, so "
 "obvezni/neobvezni tudi za kratke oblike."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Uporaba:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  ali: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [IZBIRA...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Poročila o napakah javite na %s.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Neznana sistemska napaka"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "poda ta seznam pomoči"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "poda kratka navodila za uporabo"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "IME"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "nastavi ime programa"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "premor SEK sekund (privzeto 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "izpis izdaje programa"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAMSKA NAPAKA) Različica ni poznana?!"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Preveč argumentov\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMSKA NAPAKA) Izbira bi morala biti prepoznana?!"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "napaka pri pisanju"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: izbira »%s« ni enopomenska; možnosti so:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: izbira »-W %s« ni enopomenska\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: izbira »--%s« ne dovoljuje argumenta\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: izbira »--%s« zahteva argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: neprepoznana izbira »--%s«\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: neprepoznana izbira »%c%s«\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: neveljavna izbira -- »%c«\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: izbira zahteva argument -- »%c«\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: izbira »-W %s« ni enopomenska\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: izbira »-W %s« zahteva argument\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "pomnilnik porabljen"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "ni mogoče zabeležiti trenutnega imenika"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "vrnitev v začetni delovni imenik ni mogoča"
@@ -229,11 +234,11 @@ msgstr "vrnitev v začetni delovni imenik ni mogoča"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "»"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "«"
 
@@ -243,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[dDjJ]"
 
@@ -253,16 +258,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Priprava paketa: %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Priprava paketa: %s\n"
@@ -270,11 +275,11 @@ msgstr "Priprava paketa: %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -291,19 +296,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Avtor(ica): %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Avtorja %s in %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Avtorji %s, %s in %s.\n"
@@ -311,7 +316,7 @@ msgstr "Avtorji %s, %s in %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -323,7 +328,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +352,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,7 +364,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -373,7 +378,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -387,7 +392,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -402,7 +407,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -412,24 +417,24 @@ msgstr ""
 "Poročila o napakah javite na %s.\n"
 "Napake v prevodu sporočite na <translation-team-sl@lists.sourceforge.net>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 "Poročila o napakah %s javite na %s.\n"
 "Napake v prevodu sporočite na <translation-team-sl@lists.sourceforge.net>.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Spletna stran %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Spletna stran %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Splošna pomoč za rabo programja GNU: <http://www.gnu.org/gethelp/>\n"
 
@@ -601,8 +606,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "N"
 
@@ -610,10 +615,11 @@ msgstr "N"
 msgid "set debug level"
 msgstr "nastavi raven iskanja napak"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "DATOTEKA"
 
@@ -626,7 +632,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:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "preveč argumentov"
@@ -635,67 +641,68 @@ msgstr "preveč argumentov"
 msgid "Garbage command"
 msgstr "Neveljaven ukaz"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "To ne deluje kot arhiv ,tar'"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Skupno prebranih bajtov"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Skupno zapisanih bajtov"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Skupno izbrisanih bajtov: %s\n"
+msgstr "Skupno izbrisanih bajtov"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(cev)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Zavrnjena zahteva za branje arhivske vsebine s terminala (manjkajoči f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Zavrnjena zahteva za pisanje arhivske vsebine na terminal (manjkajoči -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Neveljavna vrednost za dolžino zapisa (record_size)"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Ime arhiva ni podano"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Arhivov na stdin/stdout ni mogoče preveriti"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiv je stisnjen. Uporabite izbiro %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče ažurirati"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Na začetku traku, končujem"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Preveč napak, končujem"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -704,7 +711,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:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -713,37 +720,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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek se ni ustavil na meji zapisa"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: vsebuje neveljavno številko dela"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Prekoračitev številke dela"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Pripravite del #%d za %s in pritisnite Return: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Znak EOF na mestu, kjer se pričakuje odgovor uporabnika"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "POZOR: Arhiv nepopoln"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -754,65 +761,65 @@ msgstr ""
 " q             Končamo tar\n"
 " y, newline    Nadaljujemo z delovanjem\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Poženemo ukazno podlupino\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Ta seznam uzazov\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Novega dela ni, konec.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Ime datoteke ni določeno. Poskusite znova.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Neveljaven vnos. Vtipkajte ? za pomoč.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "ukaz %s neuspešen"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s se ne nadaljuje v tem delu"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je napačne velikosti (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiv ni označen skladno z %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Del %s ne ustreza %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -820,7 +827,7 @@ msgstr ""
 "%s: ime datoteke je predolgo za zapis v zaglavje GNU večdelnega arhiva; "
 "porezano"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "pisanje se ni končalo s koncem bloka"
 
@@ -833,20 +840,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Vsebina se razlikuje"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Nepričakovan znak za konec datoteke v arhivu"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Zvrst datoteke se razlikuje"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Način se razlikuje"
 
@@ -862,7 +869,7 @@ msgstr "Številka skupine (GID) se razlikuje"
 msgid "Mod time differs"
 msgstr "Čas zadnje spremembe se razlikuje"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Velikost se razlikuje"
 
@@ -871,37 +878,37 @@ msgstr "Velikost se razlikuje"
 msgid "Not linked to %s"
 msgstr "Ni povezana z %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Simbolna povezava se razlikuje"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Številka enote se razlikuje"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Preverjanje "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arhiv vsebuje imena datotek z odstranjenimi vodilnimi predponami."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Arhiv vsebuje transformirana imena datotek."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Verifikacija morda ne bo uspela locirati izvornih datotek."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -910,46 +917,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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Osamljeni ničelni blok pri %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: vsebuje značko medpomnilniškega imenika %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "vrednost %s od %s obseg %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Ustvarjanje negativnih osmiških glav"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: ime povezave je predolgo; brez iznosa"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -958,56 +965,56 @@ 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "vsebina ni iznešena"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Neznan tip datoteke; datoteka ignorirana"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Manjkajo povezave na %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: datoteka je nespremenjena; brez iznosa"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: datoteka je arhiv; brez iznosa"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "imenik ni iznešen"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: Datoteka je bila spremenjena med branjem"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: vtičnica ignorirana"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: vrata ignorirana"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Preskok na naslednjo glavo"
 
@@ -1025,57 +1032,57 @@ msgstr "%s: neverjetno stara časovna oznaka %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: oznaka časa %s je %s s v prihodnosti"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Nepričakovana neskladnost pri ustvarjanju imenika"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: obstoječa datoteka se preskoči"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Neprekinjene datoteke se restavrirajo kot navadne"
 
 # POZOR! Grdo!
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Simbolne povezave poskusimo dearhivirati kot trde"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Nepričakovano zaglavje z dolgim imenom"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Neznana vrsta datoteke »%c«, restavrira se kot navadna datoteka"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Obstoječa »%s« je novejša ali enako stara"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Varnostne kopije te datoteke ni moč napraviti"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Preimenovanje %s v %s ni mogoče"
@@ -1125,16 +1132,16 @@ msgstr "Neveljavna številka inoda"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: bajt %s: %s %.*s... predolgo"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Nepričakovan znak za konec datoteke v trenutnem posnetku"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: bajt %s: %s %s sledi neveljaven bajt 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1143,204 +1150,205 @@ msgstr ""
 "%s: bajt %s: (veljavni razpon %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: bajt %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: bajt %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Manjkajoč zaključek zapisa"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Okvarjen inkrementalni zapis datoteke"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nepodprta različica inkrementalnega zapisa: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, 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:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Skladenjska napaka pri imeniku za iznos: »X« podvojen"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Skladenjska napaka pri imeniku za iznos: manjkajoče ime pri »R«"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 "Skladenjska napaka pri imeniku za iznos: polja »T« ne predhodi polje »R«"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Skladenjska napaka pri imeniku za iznos: manjkajoče ime pri »T«"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Skladenjska napaka pri imeniku za iznos: »X« ni uporabljen"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Ni mogoče ustvariti začasnega imenika po šabloni %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Imenika ne čistimo: statistika zanj ni dosegljiva"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Brisanje %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Odstranitev ni mogoča"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Izpuščeno"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok znakov NUL **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec datoteke **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr ""
 "Na mestu v glavi, kjer se pričakuje številčno vrednost %s, so presledki"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, 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; privzema se dvojiški komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Osmiška vrednost arhiva %.*s izven obsega %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiv vsebuje zastarele glave oblike base-64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arhiv vsebuje %.*s na mestu, kjer se pričakuje številčno vrednost %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " povezava na %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " neznan tip datoteke %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Dolga povezava--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Dolgo ime--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Glava dela--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Nadaljevanje pri bajtu %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Ustvarja se imenik:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Preimenovanje %s v %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Preimenovanje v %s ni mogoče"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Preimenovanje %s nazaj v %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Datoteka je bila odstranjena, preden jo je bilo mogoče prebrati"
@@ -1353,30 +1361,188 @@ msgstr "proces naslednik"
 msgid "interprocess channel"
 msgstr "medprocesni kanal"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Izbira lokalne datoteke:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "IMENIK"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "pomik v navedeni IMENIK"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "preberi seznam datotek z navedene DATOTEKE"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T prebere z \\000 terminirana imena; onemogoči -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "prekliči učinek prejšnje izbire --null"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "odstrani narekovaje iz imen elementov (privzeto)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "ne odstrani narekovajev iz imen elementov"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "VZOREC"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "brez datotek, ki jih opisuje VZOREC"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "brez datotek, ustrezajočim vzorcem, prebranih z DATOTEKE"
+
+#: src/names.c:95
+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/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+"brez imenikov, ki vsebujejo značko CACHEDIR.TAG, in vseh njihovih podimenikov"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "brez imenikov, ki vsebujejo značko CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "brez vsebine imenikov, ki vsebujejo DATOTEKO, razen DATOTEKE same"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "preberi izključitvene vzorce za vsak imenik iz DATOTEKE, če ta obstaja"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"preberi izključitvene vzorce za vsak imenik in njegove podimenike iz "
+"DATOTEKE, če ta obstaja"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "brez imenikov, ki vsebujejo DATOTEKO, in vseh njihovih podimenikov"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "brez imenikov, ki vsebujejo DATOTEKO"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "brez imenikov sistema za nadzor različic"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "preberi izključitvene vzorce iz izključitvenih datotek VCS"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "brez varnostnih kopij in zaklepnih datotek"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "rekurzivno vključi vse podimenike"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "podimenikov se ne vključuje samodejno"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "vzorci se ujemajo z začetkom imena datoteke"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+"vzorci se ujemajo od kateregakoli znaka »/« dalje (privzeto pri izključitvi)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "brez razlike med malimi in velikimi črkami"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "pri ujemanje se razlikuje med malimi in velikimi črkami (privzeto)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "uporabi nadomestne znake (privzeto za izključitvi)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "dobesedno ujemanje nizov"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "nadomestni znaki se ujemajo z »/« (privzeto pri izključitvi)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "nadomestni znaki se ne ujemajo z »/«"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "ukazna vrstica"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: seznam datotek, ki ga zahteva %s, je že prebran iz %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ni mogoče razcepiti niza »%s«: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: prebrano ime datoteke vsebuje znak \\0"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Z vzorcem ujemajoči se znaki, uporabljeni v imenih datotek"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1384,53 +1550,53 @@ msgstr ""
 "Uporabite --wildcards, da bi omogočili ujemanje vzorcev, ali --no-wildcards, "
 "da izklopite to opozorilo"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ni najdeno v arhivu"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Zahtevane pojavitve ni moč najti v arhivu"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Neskladje v oznaki arhiva"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Samo ena izbira -C je dovoljena pri --listed-incremential"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Izbiri »-%s« in »-%s« obe zahtevata standardni vhod"
+msgstr "Izbiri »%s« in »%s« obe zahtevata standardni vhod"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Neveljavna oblika arhiva"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Razširitve GNU izbrane na nezdružljivem formatu arhiva"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 "Neznan slog navajanja »%s«. Poskusite »%s --quoting-style=help« za seznam."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1451,7 +1617,7 @@ msgstr ""
 "  tar -xf arhiv.tar             # Restavrira vse datoteke iz arhiva arhiv."
 "tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1473,79 +1639,87 @@ msgstr ""
 "                  sicer enostavne\n"
 "  never, simple   vedno enostavne varnostne kopije\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Glavni načini delovanja:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "izpiši vsebino arhiva"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "restavriraj datoteke iz arhiva"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "ustvarjanje novega arhiva"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "iskanje razlik med arhivom in datotečnim sistemom"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "dodajanje datotek na konec arhiva"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "dodajanje novih datotek, če so novejše od že arhiviranih"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "zlivanje arhivov"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "brisanje datotek iz arhiva (ne deluje na traku!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "preizkusi oznako dela arhiva in zaključi"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Določila delovanja:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "ekonomično ravnanje z razpršenimi datotekami"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "GLAVNI[.POMOŽNI]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "izberi uporabljeno različico razpršenega zapisa (implicira --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "stari zapis GNU za inkrementalne arhive"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "novi zapis GNU za inkrementalne arhive"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "raven izmeta za ustvarjene inkrementalne arhive"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "nadaljuj z branjem, tudi če datoteke ni moč prebrati"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1557,143 +1731,152 @@ msgstr ""
 "list, pri čemer je seznam datotek podan bodisi v ukazni vrstici, bodisi z "
 "izbiro -T. Privzeta vrednost N je 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "po arhivu je mogoče iskati"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "po arhivu ni mogoče iskati"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "pri izdelavi inkrementalnega arhiva ne preverjaj številke naprav"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "pri izdelavi inkrementalnega arhiva preverjaj številke naprav (privzeto)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Nadzor nad pisanjem prek:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "s poskusom preverjanja zapisanega arhiva"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "pobriši datoteke, potem ko so arhivirane"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 "pri restavriranju ne piši prek obstoječih datotek, ampak jih obravnavaj kot "
 "napako"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "pri restavriranju ne piši prek obstoječih datotek, preskoči jih brez "
 "opozorila"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "pri restavriranju piši prek obstoječih datotek"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 "s poprejšnjim brisanjem obstoječih datotek pri restavriranju istoimenskih "
 "novih"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "izprazni hierarhije pred restavriranjem imenikov"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "ohrani metainformacije o obstoječih imenikih"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "pri restavriranju piši prek metapodatkov obstoječih imenikov (privzeto)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "pri restavriranju ohrani obstoječe simbolne povezave na imenike"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "IMENIK"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "ustvari podimenik, da se izogne dearhiviranju nepovezanih datotek"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Izbira izhodnega toka:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "datoteke restavriraj na standardni izhod"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "UKAZ"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "datoteke napelji na vhod drugega programa"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "prezri izhodne kode hčerinskih procesov"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "obravnavaj neničelne izhodne kode hčerinskih procesov kot napako"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Ravnanje z atributi datotek:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "pri dodajanju datotek spremenimo lastnika v IME"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "pri dodajanju datotek spremenimo skupino v IME"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ČAS"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "nastavi mtime za dodane datoteke iz DATUM-ALI-DATOTEKA"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "SPREMEMBE"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "zahtevaj (simbolne) SPREMEMBE zaščite za dodane datoteke"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METODA"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1703,11 +1886,11 @@ msgstr ""
 "branju (METODA=replace, privzeto) ali tako, da se časa sploh ne nastavi "
 "(METODA=system)"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "brez restavriranja časa spremembe"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1715,23 +1898,23 @@ msgstr ""
 "skušaj restavrirati datoteke tako, da se ohrani njihov lastnik iz arhiva "
 "(privzeto za administratorja)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 "restavriraj datoteke tako, da postanemo njihov lastnik (privzeto za navadne "
 "uporabnike)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "s številčnimi vrednostmi UID/GID namesto imen"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "restavriraj podatke o dovoljenjih za dostop do datotek (privzeto za "
 "administratorja)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1739,17 +1922,13 @@ msgstr ""
 "uporabi uporabnikovo masko umask pri restavriranju dovoljenj za dostop do "
 "datotek (privzeto za uporabnike)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 "argumenti elementov so navedeni v enakem vrstnem redu kot datoteke v arhivu"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "isto kot -p in -s skupaj"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1757,187 +1936,187 @@ msgstr ""
 "z nastavljanjem časa sprememb in dovoljenja za dostop za restavrirane "
 "imenike počakaj do zaključka restavriranja"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "prekliči učinek izbire --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "UREDITEV"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "razvrstitvena ureditev imenika: none (privzeto) ali name"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Ravnanje z razširjenimi atributi datotek:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Omogoči podporo za razširjene atribute"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Onemogoči podporo za razširjene atribute"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MASKA"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "določi vključitveni vzorec za ključe xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "določi izključitveni vzorec za ključe xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Omogoči podporo za kontekst SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Onemogoči podporo za kontekst SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Omogoči podporo za POSIX ACL"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Onemogoči podporo za POSIX ACL"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Izbira enote in preklapljanje:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARHIV"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "uporabi datoteko ali enoto ARHIV"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "arhiv je lokalen kljub dvopičju v imenu datoteke"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "uporabi navedeni UKAZ rmt namesto rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "uporabi nelokalen UKAZ namesto rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "določi enoto in gostoto zapisa"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "ustvari/preglej/restavriraj arhiv v več delih"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "menjava traku po ŠT x 1024 zapisanih bajtih"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "poženi SKRIPT po koncu traku (privzema -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "uporabi/ažurira se število dela v DATOTEKI"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Bločna razdelitev enote:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOKI"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "dolžina zapisa BLOKI × 512 bajtov"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "ŠTEVILO bajtov v zapisu (večkratnik 512)"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ne meni se za bloke ničel (EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "razdeli na bloke ob branju (cevovodi 4.2BSD)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Izbira oblike arhiva:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "OBLIKA"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "ustvari arhiv v navedeni obliki"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "OBLIKA je nekaj od naštetega:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "oblika starega V7 tar"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "stara oblika GNU tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "oblika GNU tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "oblika POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "oblika POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "isto kot pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "isto kot --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "isto kot --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ključ[[:]=vrednost][,ključ[[:]=vrednost]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "krmilni ključi pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "VZOREC"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1945,182 +2124,80 @@ msgstr ""
 "ustvari arhiv z imenom dela IME; pri izpisu seznama/restavriranju je lahko "
 "IME regularni izraz za ime dela"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Izbire glede stiskanja:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "program za stiskanje ugotovi iz pripone arhiva"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "ne ugotavljaj programa za stiskanje iz pripone arhiva"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROGRAM"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtriraj skozi PROGRAM (sprejemati mora izbiro -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Izbira lokalne datoteke:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "pomik v navedeni IMENIK"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "preberi seznam datotek z navedene DATOTEKE"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T prebere z \\000 terminirana imena; onemogoči -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "prekliči učinek prejšnje izbire --null"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "odstrani narekovaje iz imen datotek, prebranih s -T (privzeto)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "ne odstrani narekovajev iz imen datotek, prebranih s -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "VZOREC"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "brez datotek, ki jih opisuje VZOREC"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "brez datotek, ustrezajočim vzorcem, prebranih z DATOTEKE"
-
-#: src/tar.c:728
-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:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-"brez imenikov, ki vsebujejo značko CACHEDIR.TAG, in vseh njihovih podimenikov"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "brez imenikov, ki vsebujejo značko CACHEDIR.TAG"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "brez vsebine imenikov, ki vsebujejo DATOTEKO, razen DATOTEKE same"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "brez imenikov, ki vsebujejo DATOTEKO, in vseh njihovih podimenikov"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "brez imenikov, ki vsebujejo DATOTEKO"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "brez imenikov sistema za nadzor različic"
-
-#: src/tar.c:751
-#, fuzzy
-msgid "read exclude patterns from the VCS ignore files"
-msgstr "izključitveni vzorci ne vsebujejo metaznakov"
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "brez varnostnih kopij in zaklepnih datotek"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "podimenikov se ne vključuje samodejno"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "pri arhiviranju izpusti datoteke na nelokalnih datotečnih sistemih"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "rekurzivno vključi vse podimenike"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "ne odstrani vodilnih »/« iz imen datotek"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "sledi simbolnim povezavam; arhiviraj/iznesi ciljne datoteke"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "sledi trdim povezavam; arhiviraj/iznesi ciljne datoteke"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "IME"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "začni z navedenim IMENOM ob branju arhiva"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "shrani le datoteke, novejše od DATUM-ČAS"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "primerjaj datum in uro le, kadar se podatki spremenijo"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "TIP"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 "varnostna kopija pred brisanjem, z možnostjo izbire TIPA varnostne kopije"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "NIZ"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2128,98 +2205,59 @@ msgstr ""
 "varnostna kopija pred brisanjem; prekličemo običajno PRIPONO (»~«, razen če "
 "lupinska spremenljivka SIMPLE_BACKUP_SUFFIX določa drugače)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Pretvorbe imen datotek:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "pri restavriranju poreži ŠTEVILO vodilnih komponent iz imen datotek"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "IZRAZ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "uporabi nadomestitveni IZRAZ programa sed za pretvorbo imen datotek"
 
-#: src/tar.c:792
-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:795
-msgid "ignore case"
-msgstr "brez razlike med malimi in velikimi črkami"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "vzorci se ujemajo z začetkom imena datoteke"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-"vzorci se ujemajo od kateregakoli znaka »/« dalje (privzeto pri izključitvi)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "pri ujemanje se razlikuje med malimi in velikimi črkami (privzeto)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "uporabi nadomestne znake (privzeto za izključitvi)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "dobesedno ujemanje nizov"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "nadomestni znaki se ne ujemajo z »/«"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "nadomestni znaki se ujemajo z »/« (privzeto pri izključitvi)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informativni izpisi:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "z izčrpnim izpisom obdelanih datotek"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "KLJUČ"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "nadzor opozorila"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "DEJANJE"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "na vsaki kontrolni točki izvedi DEJANJE"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "izpiši sporočilo, če niso zapisane vse povezave"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2231,35 +2269,35 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 in SIGUSR2, prepoznana so tudi imena "
 "signalov brez predpone SIG-"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "izpiši čase sprememb datotek v UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "izpiši čas datoteke v polni ločljivosti"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "zapiši izčrpno poročilo v DATOTEKO"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "z izpisom zaporednega bloka v arhivu ob vsakem sporočilu"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "vprašaj za potrditev pri vsakem koraku"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "prikaži privzete nastavitve"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "prikaži veljavne razpone za polja snapshot-file"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2267,31 +2305,31 @@ msgstr ""
 "pri izpisu seznama ali restavriranju izpiši vsak imenik, ki ne ustreza "
 "iskalnim pogojem"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "prikaži imena datotek ali arhivov po pretvorbi"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "SLOG"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "nastavi slog navajanja imen; glej spodaj za veljavne SLOGE"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "dodatno navedi znake iz NIZA"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "onemogoči navajanje znakov iz NIZA"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Združljivostne izbire:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2299,54 +2337,61 @@ msgstr ""
 "ob ustvarjanju arhiva isto kot --old-archive; ob restavriranju isto kot --no-"
 "same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Druge izbire:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "onemogoči rabo nekaterih potencialno škodljivih izbir"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "»%s« ni mogoče uporabiti obenem z »%s«"
+
+#: src/tar.c:934
 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:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Nasprotujoče si izbire glede stiskanja arhiva"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Neznano ime signala: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Datoteke z vzorcem datuma ni najti"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Nadomešča se %s za neznan format datuma %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Izbira %s: Datum »%s« se obravnava kot %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtriraj arhiv skozi %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Veljavni argumenti pri izbiri --quoting-style so:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2354,115 +2399,120 @@ msgstr ""
 "\n"
 "Privzete vrednosti *tega* programa tar:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Neveljaven ID lastnika ali skupine"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Neveljaven faktor blokiranja"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Neveljavna dolžina traku"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Okvarjena vrednost inkrementalne ravni"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Več kot en pražni podatek"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Neveljavna vrednost razpršene različice"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "izbira --atime-preserve='system' na tem sistemu ni podprta"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "vrednost --checkpoint ni celo število"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Podana zaščita ni veljavna"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Neveljavno število"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Raba izbire --preserve je odsvetovana, uporabite --preserve-permissions --"
-"preserve-order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Neveljavna dolžina zapisa"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Dolžina zapisa mora biti večkratnik %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Neveljavno število elementov"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Dovoljena je le ena izbira --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Okvarjen argument gostote: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Neznana gostota: »%c«"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Napaka pri razčlembi števila pri »%s«"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[DATOTEKA]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "izbire --%s ni mogoče uporabiti obenem z %s"
+msgid "non-option arguments in %s"
+msgstr "neveljaven argument %s za %s"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "ni mogoče razcepiti niza »%s«: %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Stara izbira »%c« zahteva argument."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence nima pomena brez seznama datotek"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Več arhivskih datotek zahteva izbiro »-M«"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Izbira --level je brez pomena brez izbire --listed-incremential"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2471,69 +2521,75 @@ 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Arhivov v več delih ni mogoče preveriti"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče preveriti"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Stisnjeni arhivi v več delih niso mogoči"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče združevati"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "izbira --pax-option je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "izbira --acls je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "izbira --selinux je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "izbira --xattrs je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Vrhnjega imenika ni mogoče ugotoviti; prosimo nastavite ga izrecno z --one-"
+"top-level=IMENIK"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Dolžina dela ne more biti manjša od velikosti zapisa"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Zahteva po odprtju praznega arhiva bojazljivo zavrnjena"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Izbire »-Aru« so nezdružljive z »-f -«"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Ena od izbir »-Acdtrux«, »--delete« ali »--test-label« je obvezna"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Zaradi predhodnih napak zaključujemo s statusom napake"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "razvrstitvena ureditev imenika: none (privzeto), name ali inode"
 
 #: src/update.c:87
 #, c-format
@@ -2589,35 +2645,35 @@ msgstr "Poškodovana razširjena glava: manjka znak za novo vrstico"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ne upošteva se neznanega ključa razširjene glave »%s«"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Poškodovana razširjena glava: neveljavni %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Poškodovana razširjena glava: odvečni %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Poškodovana razširjena glava: neveljavni %s: liho število vrednosti"
@@ -2660,7 +2716,7 @@ msgstr "Oznaka pisanja %u"
 msgid "Read checkpoint %u"
 msgstr "Oznaka branja %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2668,70 +2724,74 @@ msgstr ""
 "genfile pripravi datoteke za testno zbirko GNU paxutils.\n"
 "IZBIRE so:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Izbire ustvarjenja datotek:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "VELIKOST"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Ustvari arhiv z navedeno VELIKOSTJO"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Zapiši na podano DATOTEKO namesto na standardni izhod"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Preberi imena datotek iz podane DATOTEKE"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T prebere z \\000 terminirana imena"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Zapiše v datoteko dani VZOREC. VZOREC je lahko 'default' ali 'zeros'"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Velikost bloka za razpršeno datoteko"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Ustvari razpršeno datoteko. Preostanek ukazne vrstice podaja preslikavo "
 "datoteke."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "ODMIK"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "pomakni se na dani odmik pred pisanjem podatkov"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Izbire statistike datotek:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Izpiši vsebino strukture stat za vsako od datotek. Privzeti FORMAT je: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Izbire za sinhrono izvajanje:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "IZBIRA"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2739,19 +2799,19 @@ msgstr ""
 "Izvedi ARGUMENTE. Uporabno z izbiro --checkpoint in eno od naslednjih izbir: "
 "--cut, --append, --touch, --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Ob dosegu kontrolne točke N izvedi dano dejanje (glejte spodaj)"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Nastavi datum za naslednjo izbiro --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Izpiši izvedene kontrolne točke in izhodni status UKAZA"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2759,7 +2819,7 @@ msgstr ""
 "Dejanja sinhronega izvajanja. Izvedejo se, ko je dosežena ena od kontrolnih "
 "točk, podana z izbiro --checkpoint."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2767,156 +2827,166 @@ msgstr ""
 "Skrajšaj DATOTEKO na dolžino, določeno s prejšnjo izbiro --length (ali 0, če "
 "ta ni podana)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Dodaj VELIKOST bajtov DATOTEKI. VELIKOST je podana s prejšnjo izbiro --"
 "length."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Posodobi čas dostopa in spremembe za DATOTEKO"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Izvedi UKAZ"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Odstrani DATOTEKO"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Neveljavna velikost: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Številka izven dovoljenega obsega: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativna velikost: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "klic stat(%s) ni uspel"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "zahtevana dolžina datoteke %lu, dejanska %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "ustvarjena datoteka ni razpršena"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Napaka pri razčlembi števila pri »%s«"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Neznana format datuma"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENT...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "ni mogoče odpreti »%s«"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "klic seek() ni mogoč"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "datoteka vsebuje znak NUL"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "nepravilna maska (pri »%s«)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Neznano polje »%s«"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ni mogoče nastaviti časa za »%s«"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "ni mogoče okrajšati »%s«"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "ukaz neuspešen: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "ni mogoče odstraniti »%s«"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Ukaz se je uspešno zaključil\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Ukaz se je zaključil neuspešno s statusom %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Ukaz je bil prekinjen s signalom %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Ukaz je bil ustavljen s signalom %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Ukaz je izvrgel pomnilniško sliko\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Ukaz je bil prekinjen\n"
 
 #  POZOR  Je to res to?
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat zahteva imena datotek"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "isto kot -p in -s skupaj"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Raba izbire --preserve je odsvetovana, uporabite --preserve-permissions --"
+#~ "preserve-order"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "--occurrence ni mogoče uporabiti skupaj z %s"
 
index aa15165a8de53df119f8659ec519c3f81d0ade08..93e121b019404d5888db038b64b022d74b445e0f 100644 (file)
Binary files a/po/sr.gmo and b/po/sr.gmo differ
index 6c96696908c30a93c5ac4c3ca195f43d15fb047f..8dec59a8e917aca31065236135b01b5a334d14a5 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -2,14 +2,13 @@
 # Copyright (C) 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Мирослав Николић <miroslavnikolic@rocketmail.com>, 2014.
-#
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.27\n"
+"Project-Id-Version: tar-1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2014-03-14 05:15+0200\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2014-09-14 18:29+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
@@ -19,46 +18,46 @@ msgstr ""
 "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"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "неисправан аргумент „%s“ за „%s“"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "нејасан аргумент „%s“ за „%s“"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Исправни аргументи су:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: „ARGP_HELP_FMT“ параметар захтева вредност"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: „ARGP_HELP_FMT“ параметар мора бити позитиван"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Непознат „ARGP_HELP_FMT“ параметар"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Ђубре у „ARGP_HELP_FMT“-у: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -66,143 +65,148 @@ msgstr ""
 "Обавезни или изборни аргументи за дуге опције су такође обавезни или изборни "
 "за било које одговарајуће кратке опције."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Употреба:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  или: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [ОПЦИЈА...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Покушајте „%s --help“ или „%s --usage“ за више података.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Грешке пријавите на %s\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Непозната грешка система"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "приказује овај списак помоћи"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "приказује кратку поруку коришћења"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "НАЗИВ"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "поставља назив програма"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "СЕКУНДИ"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "стаје за СЕКУНДЕ секунде (основно је 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "исписује издање програма"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ГРЕШКА ПРОГРАМА) Није познато издање!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Превише аргумената\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ГРЕШКА ПРОГРАМА) Опција треба да буде препозната!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "грешка писања"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: опција „%s“ је нејасна; могућности:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: опција „-W %s“ је нејасна\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: опција „--%s“ не дозвољава аргумент\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: опција „%c%s“ не дозвољава аргумент\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: опција „--%s“ захтева аргумент\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: непозната опција „--%s“\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: непозната опција „%c%s“\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: неисправна опција -- „%c“\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: опција захтева аргумент -- „%c“\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: опција „-W %s“ је нејасна\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: опција „-W %s“ не дозвољава аргумент\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: опција „-W %s“ захтева аргумент\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "меморија је потрошена"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "не могу да снимим тренутни радни директоријум"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "не могу да се вратим у почетни радни директоријум"
@@ -228,11 +232,11 @@ msgstr "не могу да се вратим у почетни радни дир
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "„"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "“"
 
@@ -242,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yY]"
 
@@ -252,16 +256,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Запаковао је %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Запаковао је %s\n"
@@ -269,11 +273,11 @@ msgstr "Запаковао је %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -290,19 +294,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Написао је %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Написали су %s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Написали су %s, %s, и %s.\n"
@@ -310,7 +314,7 @@ msgstr "Написали су %s, %s, и %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +326,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -334,7 +338,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -346,7 +350,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -358,7 +362,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -372,7 +376,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -386,7 +390,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -401,7 +405,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -410,22 +414,22 @@ msgstr ""
 "\n"
 "Грешке пријавите на: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Грешке програма „%s“ пријавите на: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Матична страница „%s“: <%s>.\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "„%s“ матична страница: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Општа помоћ користећи Гнуов софтвер: <http://www.gnu.org/gethelp/>\n"
 
@@ -594,8 +598,8 @@ msgstr "Неочекивани аргументи"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Управља уређајем траке, прихватајући наредбе од удаљеног процеса"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "БРОЈ"
 
@@ -603,10 +607,11 @@ msgstr "БРОЈ"
 msgid "set debug level"
 msgstr "поставља ниво прочишћавања"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "ДАТОТЕКА"
 
@@ -619,7 +624,7 @@ msgstr "поставља назив излазне датотеке прочиш
 msgid "cannot open %s"
 msgstr "не могу да отворим „%s“"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "превише аргумената"
@@ -628,67 +633,68 @@ msgstr "превише аргумената"
 msgid "Garbage command"
 msgstr "Наредба за ђубре"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Ово не изгледа као тар архива"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Укупно прочитаних бајтова"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Укупно уписаних бајтова"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Укупно обрисаних бајтова: %s\n"
+msgstr "Укупно обрисаних бајтова"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(спојка)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Одбијам да читам садржаје архиве из терминала (да ли недостаје опција „-f“?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+" Одбијам да пишем садржаје архиве на терминал (да ли недостаје опција „-f“?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Неисправна вредност за величину_снимка"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Није дат назив архиве"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Не могу да проверим архиву стандарног улаза/излаза"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архива је запакована. Користите опцију „%s“"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Не могу да освежим запаковане архиве"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "На почетку сам траке, прекидам"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Превише грешака, прекидам"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -696,7 +702,7 @@ msgstr[0] "Величина снимања = %lu блок"
 msgstr[1] "Величина снимања = %lu блока"
 msgstr[2] "Величина снимања = %lu блокова"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -704,37 +710,37 @@ msgstr[0] "Непоравнат блок (%lu бајт) у архиви"
 msgstr[1] "Непоравнат блок (%lu бајта) у архиви"
 msgstr[2] "Непоравнат блок (%lu бајтова) у архиви"
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Не могу да померим уназад датотеку архиве; може бити нечитка без „-i“"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "„rmtlseek“ није заустављен на граници снимања"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: садржи погрешан број диска"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Прекорачење броја диска"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Припремите диск #%d за „%s“ и притисните врати: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "крај датотеке где се очекивао одговор корисника"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "УПОЗОРЕЊЕ: Архива није потпуна"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -746,66 +752,66 @@ msgstr ""
 " y или newline  Наставља радњу\n"
 
 # проверити и питати
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !              Израђа подшкољку\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?              Испсиује овај списак\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Нема новог диска; излазим.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Нисте навели назив датотеке. Покушајте поново.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Неисправан улаз. Укуцајте ? за помоћ.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "Није успела наредба „%s“"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "„%s“ није наставио на овом диску"
+
+#: src/buffer.c:1523
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "„%s“ је вероватно наставио на овом диску: заглавље садржи скраћени назив"
 
-#: src/buffer.c:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "„%s“ није наставио на овом диску"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s је погрешне величине (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Овај диск је ван низа (%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Архива није обележена да поклопи „%s“"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Диск „%s“ не поклапа „%s“"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -813,7 +819,7 @@ msgstr ""
 "%s: назив датотеке је предуг да би се сачувао у заглављу Гнуовог вишедика, "
 "скраћено"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "писање није завршило на граници блока"
 
@@ -825,20 +831,20 @@ msgstr[0] "Могу да прочитам само %lu од %lu бајта"
 msgstr[1] "Могу да прочитам само %lu од %lu бајта"
 msgstr[2] "Могу да прочитам само %lu од %lu бајтова"
 
-#: src/compare.c:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Садржаји се разликују"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Неочекиван крај датотеке у архиви"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Врста датотеке се разликује"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Режим се разликује"
 
@@ -854,7 +860,7 @@ msgstr "Гиб се разликује"
 msgid "Mod time differs"
 msgstr "Време калупа се разликује"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Величина се разликује"
 
@@ -863,37 +869,37 @@ msgstr "Величина се разликује"
 msgid "Not linked to %s"
 msgstr "Није повезан са „%s“"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Симболичка веза се разликује"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Број уређаја се разликује"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Провери "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Непозната врста датотеке „%c“, другачија је од обичне датотеке"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Архива садржи називе датотека са уклоњеним водећим префиксима."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Архива садржи преиначене називе датотека."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Провера можда не успе да пронађе изворне датотеке."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -901,46 +907,46 @@ msgstr[0] "НЕУСПЕЛА ПРОВЕРА: откривено је %d неис
 msgstr[1] "НЕУСПЕЛА ПРОВЕРА: откривена су %d неисправна заглавља"
 msgstr[2] "НЕУСПЕЛА ПРОВЕРА: откривено је %d неисправних заглавља"
 
-#: src/compare.c:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Усамљени нулти блок на „%s“"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: садржи ознаку директоријума оставе „%s“; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "вредност „%s“ је ван „%s“ опсега %s..%s; замењујем са „%s“"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "вредност „%s“ је ван „%s“ опсега %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Стварам негативна октална заглавља"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: назив датотеке је предуг (највише %d); није изнет"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: назив датотеке је предуг (не могу да га поделим); није изнет"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: назив везе је предуг; није изнет"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -948,55 +954,55 @@ msgstr[0] "%s: Датотека је смањена за %s бајт, допуњ
 msgstr[1] "%s: Датотека је смањена за %s бајта, допуњена нулама"
 msgstr[2] "%s: Датотека је смањена за %s бајтова, допуњена нулама"
 
-#: src/create.c:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: датотека је на другачијем систему датотека; није изнета"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "садржај није изнет"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Непозната врста датотеке; датотека је занемарена"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Недостаје веза на „%s“."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: датотека је непромењена; није изнета"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: датотека је архива; није изнета"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "директоријум није изнет"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: датотека је промењена у току читања"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: прикључница је занемарена"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: врата су занемарена"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Прелазим на следеће заглавље"
 
@@ -1014,56 +1020,56 @@ msgstr "%s: неприхватљива стара временска ознак
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: временска ознака „%s“ је %s сек. у будућности"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Неочекивана недоследност приликом прављења директоријума"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: прескачем постојећу датотеку"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr ""
 "%s: Директоријум је преименован пре него што је његово стање могло бити "
 "извучено"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Извлачим суседне датотеке као обичне датотеке"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Покушавам да извучем симболичке везе као чврсте везе"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Не могу да извучем — датотека је наставак са другог диска"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Неочекивано дуго заглавље назива"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s: Непозната врста датотеке „%c“, извучена је као обична датотека"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Тренутно „%s“ је новије или исте старости"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Нисам могао да направим резерву ове датотеке"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Не могу да преименујем „%s“ у „%s“"
@@ -1113,16 +1119,16 @@ msgstr "Неисправан број и-чвора"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: бајт %s: %s %.*s... предуго"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Неочекиван крај датотеке у датотеци брзог снимка"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: бајт %s: %s %s је праћен неисправним бајтом 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1131,113 +1137,114 @@ msgstr ""
 "%s: бајт %s: (исправан опсег %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: бајт %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: бајт %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Недостаје окончавал снимања"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Лош запис повећавајуће датотеке"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Неподржано издање повећавајућег записа: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Лош директоријум изношења: очекивах „%c“ али нађох „%#3o“"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Лош директоријум изношења: „X“ је удвостручено"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Лош директоријум изношења: празан назив у „R“"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Лош директоријум изношења: испред „T“ не иде „R“"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Лош директоријум изношења: празан назив у „T“"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Лош директоријум изношења: очекивах „%c“ али нађох крај података"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Лош директоријум изношења: „X“ није никада коришћено"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Не могу да направим привремени директоријум користећи шаблон „%s“"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Не чистим директоријум: не могу да добавим податке"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: директоријум је на другом уређају: не чистим"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Бришем „%s“\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Не могу да уклоним"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Пропуштам"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** Блок НИШТАВНИХ вредности **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Крај датотеке **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1245,87 +1252,87 @@ msgstr ""
 "двојке"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Октална вредност архиве „%.*s“ је ван „%s“ опсега"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архива садржи застарела заглавља основе-64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Архивом потписана ниска основе-64 „%s“ је ван „%s“ опсега"
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Вредност архиве „%s“ је ван „%s“ опсега %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " веза до „%s“\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " непозната врста датотеке „%s“\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "—Дуга веза—\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "—Дуг назив—\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "—Заглавље диска—\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "—Настављен на бајту %s—\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Стварам директоријум:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Преименујем „%s“ у „%s“\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Не могу да преименујем у „%s“"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Преименујем „%s“ назад на „%s“\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Датотека је уклоњена пре него што је прочитана"
@@ -1338,30 +1345,187 @@ msgstr "проистекли процес"
 msgid "interprocess channel"
 msgstr "канал међупроцеса"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Избор месне датотеке:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr "додаје дату ДАТОТЕКУ у архиву (корисно ако њен назив почиње цртицом)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "ДИР"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "   прелази у директоријум ДИР"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "добавља називе да извуче или створи из ДАТОТЕКЕ"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "„-T“ чита нулом заврешене називе, искључује „-C“"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "искључује дејство претходне опције „--null“"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "уклања наводнике улазне датотеке или назива чланова (основно)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "не уклања наводнике улазне датотеке или назива чланова"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "ШАБЛОН"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "      искључује датотеке, дате као ШАБЛОН"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "искључује шаблоне исписане у ДАТОТЕЦИ"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"искључује садржај директоријума који садрже „CACHEDIR.TAG“, осим за саму ту "
+"ознаку датотеке"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "искључује све под директоријумима који садрже „CACHEDIR.TAG“"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "искључује директоријуме који садрже „CACHEDIR.TAG“"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"искључује садржај директоријума који садрже ДАТОТЕКУ, осим за саму ДАТОТЕКУ"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "чита шаблоне изузећа за сваки директоријум из ДАТОТЕКЕ, ако постоје"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"чита шаблоне изузећа за сваки директоријум и њихове поддиректоријуме из "
+"ДАТОТЕКЕ, ако постоје"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "искључује све испод директоријума који садрже ДАТОТЕКУ"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "искључује директоријуме који садрже ДАТОТЕКУ"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "искључује директоријуме система управљања издањем"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "чита шаблоне изузећа из ВЦС датотека занемаривања"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "искључује датотеке резерве и закључавања"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "дубачи у директоријумима (основно)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "избегава опадање самостално у директоријима"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"Опције поклапања назива датотека (утиче и на шаблоне укључивања и "
+"искључивања):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "шаблон се поклапа са почетком назива датотеке"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "шаблони се поклапају након сваке / (основно за искључивања)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "занемарује величину слова"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "поклапање величине слова (основно)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "користи џокере (основно за искључивања)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "дословне"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "џокери се поклапају са / (основно за искључивања)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "џокери се не поклапају са /"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "линија наредби"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: списак датотека затражен са „%s“ већ је прочитан са „%s“"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "не могу да поделим ниску „%s“: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: прочитан назив датотеке садржи ништаван знак"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Знаци поклапања шаблона су коришћени у називима датотека"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1369,47 +1533,47 @@ msgstr ""
 "Користите „--wildcards“ да укључите поклапање шаблона, или „--no-wildcards“ "
 "да потиснете ово упозорење"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Нисам нашао у архиви"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Нисам нашао у архиви захтевану појаву"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Натпис архиве не одговара"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Употреба опције „-C“ унутар списка датотека није допуштена са „--listed-"
 "incremental“"
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Само једна опција „-C“ је допуштена са „--listed-incremental“"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Обе опције „-%s“ и „-%s“ желе стандардни улаз"
+msgstr "Обе опције „%s“ и „%s“ желе стандардни улаз"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Неисправан запис архиве"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Гнуове функције се траже на несагласном запису архиве"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1417,7 +1581,7 @@ msgstr ""
 "Непознат стил цитирања „%s“. Пробајте „%s --quoting-style=помоћ“ да добавите "
 "списак."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1437,7 +1601,7 @@ msgstr ""
 "tar“.\n"
 "  tar -xf архива.tar             # Извлачи све датотеке из „архиве.tar“.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1459,79 +1623,87 @@ msgstr ""
 "супротном једноставне\n"
 "  never, simple   — увек прави једноставне резерве\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Главни режим радње:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "исписује садржај архиве"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "извлачи датотеке из архиве"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "ствара нову архиву"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "налази разлике између архиве и система датотека"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "додаје датотеке на крај архиве"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "додаје само датотеке које су новије од примерка у архиви"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "додаје тар датотеке у архиву"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "брише из архиве (не ради на магнетним тракама!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "испробава натпис диска архиве и излази"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Измењивачи радње:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "успешно рукује разређеним датотекама"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "ГЛАВНИ[.СПОРЕДНИ]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "поставља издање разређеног записа за употребу (подразумева „--sparse“)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "рукује старом увећавајућом резервом Гну-записа"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "рукује новом увећавајућом резервом Гну-записа"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "    износи ниво за направљене архиве увећавајуће исписане"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "не излази са ненулом на нечитљивим датотекама"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1543,138 +1715,147 @@ msgstr ""
 "extract“ или „--list“ и када је списак датотека дат или на линији наредби "
 "или путем опције „-T“; БРОЈ подразумева 1"
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "архива може да се претражује"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "архива не може да се претражује"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "не проверава бројеве уређаја када ствара увећавајуће архиве"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "проверава бројеве уређаја када ствара увећавајуће архиве (основно)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Управљање преписивањем:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "покушава да провери архиву после писања"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "уклања датотеке после додавања у архиву"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "не замењује постојеће датотеке приликом извлачења, сматра их грешкама"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "не замењује постојеће датотеке приликом извлачења, нечујно их прескаче"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 "не замењује постојеће датотеке које су новије од њихових примерака у архиви"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "преписује постојеће датотеке приликом извлачења"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "уклања сваку датотеку пре извлачења преко ње"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "празни хијерархије пре извлачења директоријума"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "чува мета-податке постојећих директоријума"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "преписује мета-податке постојећих директоријума приликом извлачења (основно)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 "очувава постојеће симболичке везе ка директоријумима приликом извлачења"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "ДИР"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "ствара поддиректоријум да би избегао губљење распакованих датотека"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Бирање излазног тока:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "извлачи датотеке на стандардни излаз"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "НАРЕДБА"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "прослеђује извучене датотеке другом програму"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "занемарује излазне кодове порода"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "сматра не-нулте излазне кодове порода као грешке"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Руковање особинама датотека:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "     приморава НАЗИВ као власника за додате датотеке"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "     приморава НАЗИВ као групу за додате датотеке"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "ДАТУМ-ИЛИ-ДАТОТЕКА"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "поставља м-време за додате датотеке из ДАТУМ-ИЛИ-ДАТОТЕКА"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ПРОМЕНЕ"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "       приморава (симболично) режим ПРОМЕНА за додате датотеке"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "НАЧИН"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1684,11 +1865,11 @@ msgstr ""
 "читања (НАЧИН='replace'; основно) или не постављањем времена за време рада "
 "(НАЧИН='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "не извлачи измењено време датотеке"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1696,19 +1877,19 @@ msgstr ""
 "покушава извлачење датотека са истим власништвом које постоји у архиви "
 "(основно је за администратора)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "извлачи датотеке као ви сами (основно је за обичн екориснике)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "увек користи бројеве за називе корисника/групе"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "извлчаи податке о овлашћењима датотека (основно је за администратора))"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1716,16 +1897,12 @@ msgstr ""
 "примењује корисникову умаску када извлачи овлашћења из архиве (основно је за "
 "обичне кориснике)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr "аргументи члана се исписују истим редом као датотеке у архиви"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "исто и као „-p“ и као „-s“"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1733,187 +1910,187 @@ msgstr ""
 "одлаже подешавања измене времена и овлашћења извучених директоријума до "
 "краја извлачења"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "отказује дејство опције „--delay-directory-restore“"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ПОРЕДАК"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "поредак ређања директоријума: „none“ (основно) или „name“"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Руковање проширеним особинама датотека:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Укључује подршку проширених особина"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Искључује подршку проширених особина"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "МАСКА"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "наводи шаблон укључивања за кључеве икс-особине"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "наводи шаблон искључивања за кључеве икс-особине"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Укључује подршку СЕЛинукс контекста"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Искључује подршку СЕЛинукс контекста"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Укључује подршку ПОСИКС АЦЛ-ова"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Искључује подршку ПОСИКС АЦЛ-ова"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Бирање уређаја и пребацивање:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "АРХИВА"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "      користи датотеку архиве или уређај АРХИВА"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "датотека архиве је месна чак и ако садржи двотачку"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "користи дато „rmt НАРЕДБА“ уместо „rmt“"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "користи удаљену НАРЕДБУ уместо „rsh“"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "одеређује диск и густину"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "ствара/исписује/извлачи архиву више дискова"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "    мења траку након писања БРОЈ x 1024 бајтова"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "покреће скрипту на крају сваке траке (подразумева „-M“)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "користи/освежава број диска у опцији ДАТОТЕКА"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Блокови уређаја:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "БЛОКОВИ"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "БЛОКОВИ x 512 бајта по снимању"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "БРОЈ бајтова по снимању, умножак од 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "занемарује нулте блокове у архиви (значи крај датотеке)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "уређује блокове током читања (за 4.2БСД спојке)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Избор записа архиве:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "ЗАПИС"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "     ствара архиву датог записа"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "ЗАПИС је један од следећих:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "стари V7 тар запис"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "Гнуов запис као за тар <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "Запис Гнуовог тара 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "Запис ПОСИКСА 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "Запис ПОСИКСА 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "исто као и „pax“"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "исто као и „--format=v7“"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "исто као и „--format=posix“"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "кључна реч[[:]=вредност][,кључна реч[[:]=вредност]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "управља кључним речима пакса"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1921,180 +2098,79 @@ msgstr ""
 "     ствара архиву са називом диска ТЕКСТ; за време исписивања/извлачења, "
 "користи ТЕКСТ као шаблон шаблонирања за назив диска"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Могућности сажимања:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "користи суфикс архиве да одреди програм сажимања"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "не користи суфикс архиве да одреди програм сажимања"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "ПРОГРАМ"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "издваја кроз ПРОГРАМ (мора да прихвати „-d“)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Избор месне датотеке:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr "додаје дату ДАТОТЕКУ у архиву (корисно ако њен назив почиње цртицом)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "   прелази у директоријум ДИР"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "добавља називе да извуче или створи из ДАТОТЕКЕ"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "„-T“ чита нулом заврешене називе, искључује „-C“"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "искључује дејство претходне опције „--null“"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "нецитиране називе датотека чита са „-T“ (основно)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "не чита нецитиране називе датотека са  „-T“"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "ШАБЛОН"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "      искључује датотеке, дате као ШАБЛОН"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "искључује шаблоне исписане у ДАТОТЕЦИ"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"искључује садржај директоријума који садрже „CACHEDIR.TAG“, осим за саму ту "
-"ознаку датотеке"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "искључује све под директоријумима који садрже „CACHEDIR.TAG“"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "искључује директоријуме који садрже „CACHEDIR.TAG“"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-"искључује садржај директоријума који садрже ДАТОТЕКУ, осим за саму ДАТОТЕКУ"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "искључује све испод директоријума који садрже ДАТОТЕКУ"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "искључује директоријуме који садрже ДАТОТЕКУ"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "искључује директоријуме система управљања издањем"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "искључује датотеке резерве и закључавања"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "избегава опадање самостално у директоријима"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "остаје у месном датотека систему када ствара архиву"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "дубачи у директоријумима (основно)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "не уклања водеће / из назива датотека"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "прати симболичке везе; архивира и износи датотеке на које показују"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "прати чврсте везе; архивира и износи датотеке на које упућују"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "НАЗИВ-ЧЛАНА"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "почиње од члана НАЗИВ-ЧЛАНА када чита архиву"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "чува само датотеке које су новије од ДАТУМ-ИЛИ-ДАТОТЕКА"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "ДАТУМ"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr " упоређује датум и време када се промени само податак"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "УПРАВЉАЊЕ"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "прави резерву пре уклањања, бира УПРАВЉАЊЕ издањем"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "НИСКА"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2102,97 +2178,59 @@ msgstr ""
 "     прави резерву пре уклањања, преписује уобичајени суфикс („~“ уколико "
 "није преписан променљивом окружења „SIMPLE_BACKUP_SUFFIX“)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Преображавање назива датотеке:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "одсеца БРОЈ водећих састојака из назива датотека приликом извлачења"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "ИЗРАЗ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "користи седов ИЗРАЗ замене за преображај назива датотека"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-"Опције поклапања назива датотека (утиче и на шаблоне укључивања и "
-"искључивања):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "занемарује величину слова"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "шаблон се поклапа са почетком назива датотеке"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "шаблони се поклапају након сваке / (основно за искључивања)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "поклапање величине слова (основно)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "користи џокере (основно за искључивања)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "дословне"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "џокери се не поклапају са /"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "џокери се поклапају са / (основно за искључивања)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Обавештајни излаз:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "опширно исписује обрађене датотеке"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "КЉУЧНА РЕЧ"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "управља упозорењем"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr " приказује поруке напредовања сваког снимања бр. БРОЈ (основно је 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "РАДЊА"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "извршава РАДЊУ на свакој тачки провере"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "исписује поруку ако све везе нису изнете"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2204,35 +2242,35 @@ msgstr ""
 "SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2“; називи без префикса „SIG“ се такође "
 "прихватају"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "исписује времена измена датотеке у КУВ-у"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "исписује време датотеке у његовом потпуном простирању"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "шаље опширан излаз у ДАТОТЕКУ"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "приказује број блока унутар архиве са сваком поруком"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "пита за потврду за сваку радњу"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "приказује основности тара"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "показује исправне опсеге за поља датотеке снимка"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2240,31 +2278,31 @@ msgstr ""
 "када исписује или извлачи, исписује сваки директоријум који се не поклапа са "
 "условом претраге"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "показује називе датотека или архива након преображаја"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "СТИЛ"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "поставља стил цитирања назива; видите испод исправне вредности СТИЛА"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr " додатно цитира знакове из НИСКЕ"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "искључује цитирање за знакове из НИСКЕ"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Опције сагласности:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2272,15 +2310,22 @@ msgstr ""
 "када ствара, исто као „--old-archive“; када извлачи, исто као „--no-same-"
 "owner“"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Остале опције:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "искључује употребу неких потенцијално штетних опција"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "„%s“ не може бити коришћена са „%s“"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2288,40 +2333,40 @@ msgstr ""
 "Не можете навести више од једне опције „-Acdtrux“, „--delete“ или „--test-"
 "label“"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Сукобљавајуће опције сажимања"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Непознат назив сигнала: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Нисам нашао датотеку примерка датума"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Замењујем „%s“ за непознати запис датума „%s“"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Опција „%s“: Сматрам датум „%s“ за „%s“"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "издваја архиву кроз „%s“"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Исправни аргументи за опцију „--quoting-style“ су:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2329,115 +2374,120 @@ msgstr ""
 "\n"
 "*Овај* тар подразумева опције:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Неисправан власник или ИБ групе"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Неисправан блокирајући чинилац"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Неисправна дужина траке"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Неисправна увећавајућа вредност нивоа"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Више од једног датума помака"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Неисправна вредност разређеног издања"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "„--atime-preserve='system'“ није подржана на овој платформи"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "вредност „--checkpoint“ није цео број"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Неисправан режим је дат на опцији"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Неисправан број"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Опција „--preserve“ је застарела, користите уместо ње „--preserve-"
-"permissions --preserve-order“"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Неисправна величина записа"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Величина снимања мора да буде вишеструка од %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Неисправан број елемената"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Дозвољена је само једна опција „--to-command“"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Лош аргумент густине: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Непозната густина: „%c“"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Опције „-[0-7][lmh]“ нису подржане *овим* таром"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Грешка анализе броја близу „%s“"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[ДАТОТЕКА]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "„--%s“ не може бити коришћена са „%s“"
+msgid "non-option arguments in %s"
+msgstr "неисправан аргумент „%s“ за „%s“"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "не могу да поделим ниску „%s“: %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Стара опција „%c“ захтева аргумент."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "„--occurrence“ нема значење без списка датотека"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Више датотека архиве захтева опцију „-M“"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "„--level“ нема значења без „--listed-incremental“"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2445,70 +2495,76 @@ msgstr[0] "%s: Натпис диска је предуг (ограничење 
 msgstr[1] "%s: Натпис диска је предуг (ограничење је %lu бајта)"
 msgstr[2] "%s: Натпис диска је предуг (ограничење је %lu бајтова)"
 
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Не могу да проверим архиве више дискова"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Не могу да проверим сажете архиве"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Не могу да користим сажете архиве више дискова"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Не могу да спојим сажете архиве"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "„--pax-option“ може бити коришћена само на ПОСИКС архивама"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "„--acls“ може бити коришћена само на ПОСИКС архивама"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "„--selinux“ може бити коришћена само на ПОСИКС архивама"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "„--xattrs“ може бити коришћена само на ПОСИКС архивама"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Не могу да докучим назив директоријума највишег нивоа; поставите га изричито "
+"са „--one-top-level=ДИР“"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Величина диска не може бити мања од величине снимка"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Кукавички одбијам да направим празну архиву"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Опције „-Aru“ су несагласне са „-f -“"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Можете навести једну од опција „-Acdtrux“, „--delete“ или „--test-label“"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Излазим са стањем неуспеха услед претходних грешака"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "поредак ређања директоријума: „none“ (основно), „name“ или „inode“"
 
 #: src/update.c:87
 #, c-format
@@ -2563,34 +2619,34 @@ msgstr "Лоше проширено заглавље: недостаје нов
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Занемарујем непознату кључну реч „%s“ проширеног заглавља"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Проширено заглавље „%s=%s“ је ван опсега %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Лоше проширено заглавље: неисправно је „%s=%s“"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Лоше проширено заглавље: премашује „%s=%s“"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Лоше проширено заглавље: неисправно „%s“: неочекивани разделник „%c“"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Лоше проширено заглавље: неисправно „%s“: непаран број вредности"
@@ -2631,7 +2687,7 @@ msgstr "Тачка провере радње писања „%u“"
 msgid "Read checkpoint %u"
 msgstr "Тачка провере радње читања „%u“"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2640,70 +2696,74 @@ msgstr ""
 "Гнуовог помагала пакета (GNU paxutils).\n"
 "Опције су:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Опције стварања датотеке:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "ВЕЛИЧИНА"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Прави датотеку задате ВЕЛИЧИНЕ"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Пише у НАЗИВ датотеке, уместо на стандардни излаз"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Чита називе датотека из ДАТОТЕКЕ"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "„-T“ чита нулом заврешене називе"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Испуњава датотеку задатим ШАБЛОНОМ. ШАБЛОН је „default“ (основно) или "
 "„zeros“ (нуле)"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Величина блока за проређену датотеку"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Ствара проређену датотеку. Остатак линије наредби даје мапу датотеке."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "ПОМЕРАЈ"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Премотава на задати померај пре записивања података"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Опције статистичке датотеке:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Исписује садржаје стања структуре за сваку дату датотеку. Основни ЗАПИС је:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Опције усаглашеног извршавања:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "ОПЦИЈА"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2711,19 +2771,19 @@ msgstr ""
 "Извршава АРГУМЕНТЕ. Корисно уз „--checkpoint“ и уз једну од „--cut“, „--"
 "append“, „--touch“, „--unlink“"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Обавља задату радњу (видите испод) након достизања БРОЈА тачке провере"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Поставља датум за следећу опцију „--touch“"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Приказује извршене тачке провере и износи стање НАРЕДБЕ"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2731,7 +2791,7 @@ msgstr ""
 "Радње усаглашеног извршавања. Извршавају се када је достигнут број тачке "
 "провере задат опцијом „--checkpoint“."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2739,155 +2799,165 @@ msgstr ""
 "Скраћује ДАТОТЕКУ на величину наведену претходном опцијом „--length“ (или 0, "
 "ако није дата)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Придодаје ВЕЛИЧИНА бајтова ДАТОТЕЦИ. ВЕЛИЧИНА је дата претходном опцијом „--"
 "length“"
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Освежава времена приступа и промена ДАТОТЕКЕ"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Извршава НАРЕДБУ"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Развезује ДАТОТЕКУ"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Неисправна величина: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Број је изван дозвољеног опсега: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Негативна величина: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "није успело добављање података за „%s“"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "затражена величина датотеке је %lu, а тренутна је %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "створена датотека није проређена"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Грешка анализе броја близу „%s“"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Непознат запис датума"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТИ...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "не могу да отворим „%s“"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "не могу да премотам"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "назив датотеке садржи ништаван знак"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "не могу да створим проређену датотеку на стандардном излазу, користите "
 "опцију „--file“"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "неисправна маска (близу „%s“)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Непознато поље „%s“"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "не могу да подесим време на „%s“"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "не могу да скратим „%s“"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "наредба није успела: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "не могу да развежем „%s“"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Наредба је изашла са успехом\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Наредба није успела са стањем „%d“\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Наредба је окончана сигналом %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Наредба је заустављена сигналом %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Језгро изнете наредбе\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Наредба је окончана\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "„--stat“ захтева називе датотека"
 
+#~ msgid "same as both -p and -s"
+#~ msgstr "исто и као „-p“ и као „-s“"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Опција „--preserve“ је застарела, користите уместо ње „--preserve-"
+#~ "permissions --preserve-order“"
+
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "„--occurrence“ не може бити коришћена са „%s“"
 
index cb20b8c1fc67368eb4c8a900d76be63a13900f27..e55997913d03166d11be5ec4d79cb34d871a7b99 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index d138e079cda82d111e8ec9d5ff548a2293fcf568..8984bc2aa61d343cbae27ec6502b0da4cf6cf824 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,14 +1,14 @@
 # Swedish messages for tar
-# Copyright © 1996, 2001, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013 Free Software Foundation, Inc.
+# Copyright © 1996, 2001, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
-# Jan Djärv <jan.h.d@swipnet.se>, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2013
-#: src/create.c:1574
+# Jan Djärv <jan.h.d@swipnet.se>, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.27\n"
+"Project-Id-Version: tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-13 16:44+0200\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2014-08-01 08:51+0200\n"
 "Last-Translator: Jan Djärv <jan.h.d@swipnet.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -17,71 +17,71 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "ogiltigt argument %s för %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "tvetydigt argument %s för %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Giltiga argument är:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Okänd ARGP_HELP_FMT-parameter"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Skräp i ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 "Obligatoriska respektive valfria argument för långa flaggor är obligatoriska "
-"repektive valfria även för motsvarande korta."
+"respektive valfria även för motsvarande korta."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Användning:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  eller: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [FLAGGA...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -89,121 +89,126 @@ msgstr ""
 "Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv."
 "se>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Okänt systemfel"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "visa denna hjälptext"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "ge ett kort hjälpmeddelande"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "NAMN"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "ange programnamnet"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SEK"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "vänta i SEK sekunder (standardvärde 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "visa programversion"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(PROGRAMFEL) Ingen version känd!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: För många argument\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMFEL) Flagga borde ha känts igen!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "skrivfel"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: flaggan \"%s\" är tvetydig, alternativ:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: flaggan \"--%s\" tar inget argument\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: flaggan \"--%s\" kräver ett argument\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: okänd flagga \"--%s\"\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: okänd flagga \"%c%s\"\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ogiltig flagga -- \"%c\"\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: flaggan kräver ett argument -- \"%c\"\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: flaggan \"-W %s\" kräver ett argument\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "minnet slut"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "kan inte lagra nuvarande arbetskatalog"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "kan inte gå tillbaka till initial arbetskatalog"
@@ -229,11 +234,11 @@ msgstr "kan inte gå tillbaka till initial arbetskatalog"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "\""
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "\""
 
@@ -243,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yYjJ]"
 
@@ -253,16 +258,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketerad av %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketerad av %s\n"
@@ -270,11 +275,11 @@ msgstr "Paketerad av %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -290,19 +295,19 @@ msgstr ""
 "Det finns inte NÅGON SOM HELST GARANTI, till den grad som lagen tillåter.\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Skrivet av %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Skrivet av %s och %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Skrivet av %s, %s och %s.\n"
@@ -310,7 +315,7 @@ msgstr "Skrivet av %s, %s och %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +327,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -334,7 +339,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -346,7 +351,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -358,7 +363,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -372,7 +377,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -386,7 +391,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -401,7 +406,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -412,7 +417,7 @@ msgstr ""
 "Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv."
 "se>.\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
@@ -420,17 +425,17 @@ msgstr ""
 "Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv."
 "se>.\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "hemsida för %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s hemsida: <http://www.gnu.org/software/%s/>.\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Allmän användarhjälp för GNU-mjukvara: <http://www.gnu.org/gethelp/>.\n"
@@ -596,8 +601,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NUMMER"
 
@@ -605,10 +610,11 @@ msgstr "NUMMER"
 msgid "set debug level"
 msgstr "sätt felsökningsnivå"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FIL"
 
@@ -621,7 +627,7 @@ msgstr "sätt felsökningsfilnamn"
 msgid "cannot open %s"
 msgstr "kan inte öppna \"%s\""
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "för många argument"
@@ -630,111 +636,110 @@ msgstr "för många argument"
 msgid "Garbage command"
 msgstr "Okänt kommando"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Det här ser inte ut som ett tar-arkiv"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Summa lästa byte"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Summa skrivna byte"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Summa borttagna byte: %s\n"
+msgstr "Summa borttagna byte"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(rör)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Vägrar att läsa arkivinnehåll från terminal (saknad -f-flagga?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Vägrar att skriva arkivinnehåll till terminal (saknad -f-flagga?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Ogiltigt värde på record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Arkivnamn saknas"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan inte verifiera standard in/ut-arkiv"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkivet är komprimerat. Använd flaggan %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Komprimerade arkiv kan inte uppdateras"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Vid bandets början, avslutar nu"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "För många fel, avslutar"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek stannade inte på en postgräns"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: innehåller ogiltigt volymnummer"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Volymnummer flödade över"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Filslut vid förväntat användarsvar"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "VARNING: Arkivet är ofullständigt"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -745,66 +750,66 @@ msgstr ""
 " q              Avsluta programmet\n"
 " y eller nyrad  Fortsätt\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !              Starta ett underskal\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?              Skriv denna lista\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Ingen ny volym; avslutar.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Filnamn inte angivet, försök igen.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ogiltig indata. Skriv ? för hjälp.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "kommandot \"%s\" misslyckades"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s fortsätter inte i denna volym"
+
+#: src/buffer.c:1523
 #, 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:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s fortsätter inte i denna volym"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s har fel storlek (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, 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:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volym %s överensstämmer inte med %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -812,7 +817,7 @@ msgstr ""
 "%s: filnamnet är för långt för att lagras i huvudet för ett GNU "
 "multivolymsarkiv, trunkerat"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "skrivning stannade inte på en blockgräns"
 
@@ -823,20 +828,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Innehållet är olika"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Oväntat filslut i arkivet"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Filtyper är olika"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Rättigheterna är olika"
 
@@ -852,7 +857,7 @@ msgstr "Gid är olika"
 msgid "Mod time differs"
 msgstr "Modifieringstiderna är olika"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Storlekarna är olika"
 
@@ -861,138 +866,138 @@ msgstr "Storlekarna är olika"
 msgid "Not linked to %s"
 msgstr "Inte länkad till %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Symboliska länkar är olika"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Enhetsnummer är olika"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Verifierar "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arkivet innehåller filnamn med inledande prefix borttaget."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Arkivet innehåller konverterade filnamn."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Verifiering kan misslyckas med att hitta originalfiler."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Ett ensamt nollblock vid %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: innehåller en cachekatalog-tagg %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Genererar negativa oktala värden i arkivhuvudet"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, 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:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "innehållet inte arkiverat"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Okänd filtyp; filen ignorerad"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Det fattas länkar till %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: filen är oförändrad; inte arkiverad"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: filen är själva arkivet; inte arkiverad"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "katalog inte arkiverad"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fil ändrades under tiden vi läste den"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socketfil ignorerad"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door-fil ignorerad"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Hoppar till nästa filhuvud"
 
@@ -1010,54 +1015,54 @@ msgstr "%s: orimligt gammal tidsstämpel %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: tidsvärde %s är %s sekunder i framtiden"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Oväntad inkonsistens när katalog skapades"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: hoppar över existerande fil"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Extraherar sammanhängande filer som vanliga filer"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 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:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Oväntat huvud för långt filnamn"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
-msgstr "Nuvarade \"%s\" är nyare eller lika gammal"
+msgstr "Nuvarande \"%s\" är nyare eller lika gammal"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Kunde inte säkerhetskopiera denna fil"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Kan inte byta namn på %s till %s"
@@ -1107,16 +1112,16 @@ msgstr "Ogiltigt inodnummer"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: byte %s: %s %.*s... för lång"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Oväntat filslut i ögonblicksfil"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr "%s: byte %s: %s %s följs av ogilitg byte 0x%02x"
+msgstr "%s: byte %s: %s %s följs av ogiltig byte 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1125,114 +1130,115 @@ msgstr ""
 "%s: byte %s: (giltigt intervall %s..%s)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Postavslutare fattas"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Felaktigt filformat för inkrementell säkerhetskopiering"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 "Formatversion för inkrementell säkerhetskopiering stöds inte: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Felaktig dumpkatalog: förväntade \"%c\" men hittade %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Felaktig dumpkatalog: \"X\" duplicerad"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Felaktig dumpkatalog: tomt namn i \"R\""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Felaktig dumpkatalog: \"T\" föregås inte av \"R\""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Felaktig dumpkatalog: tomt namn i \"T\""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, 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:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Felaktig dumpkatalog: \"X\" används inte"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Kan inte skapa temporärkatalog med mall %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Rensar inte katalog: kunde inte ta status"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Tar bort %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Kan inte ta bort"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Utelämnad"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "block %s: ** Block av nolltecken **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "block %s: ** Filslut **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "block %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1240,87 +1246,87 @@ msgstr ""
 "komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkivet innehåller föråldrade \"base-64\"-huvuden"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " länk till %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " okänd filtyp \"%s\"\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lång länk--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Långt namn--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volymhuvud--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Fortsätter vid byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Skapar katalog:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Byter namn på %s till %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Kan inte byta namn till %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Byter namn på %s tillbaka till %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fil borttagen innan vi läste den"
@@ -1333,30 +1339,187 @@ msgstr "barnprocess"
 msgid "interprocess channel"
 msgstr "interprocesskanal"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Filval:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "KATALOG"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "byt katalog till KATALOG"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "hämta namn att extrahera eller skapa från FIL"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T läser namn åtskilda med nolltecken, -C obrukbar"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "ta bort effekten av föregående --null-flagga"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "avcitera infil eller namnen i arkivet (standardvärde)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "avcitera inte infil eller namnen i arkivet"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MÖNSTER"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "utelämna filer som matchar MÖNSTER"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "utelämna filer som matchar mönster i FIL"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"utelämna innehållet i kataloger som innehåller CACHEDIR.TAG, förutom "
+"CACHEDIR.TAG själv"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "utelämna allt i kataloger som innehåller CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "utelämna kataloger som innehåller CACHEDIR.TAG"
+
+#: src/names.c:103
+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/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "läs exkluderingsmönster för varje katalog från FIL om den finns"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"läs exkluderingsmönster för varje katalog och dess underkataloger från FIL "
+"om den finns"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "utelämna allting i kataloger som innehåller FIL"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "utelämna kataloger som innehåller FIL"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "uteslut kataloger från versionshanteringssystem"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "läs exkluderingsmönster från versionkontrollsystemets \"ignore\"-filer"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "exkludera säkerhetskopior och låsfiler"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "gå rekursivt ned i kataloger (standardvärde)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "gå inte automatiskt ned i kataloger"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "mönster måste matcha i början på filnamn"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "mönster matchas efter \"/\" i filnamn (standardvärde vid uteslutning)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "matcha gemener och versaler lika"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "matcha gemener och versaler olika (standardvärde)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "använd jokertecken (standardvärde för uteslutning)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "ordagrann strängjämförelse"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "jokertecken matchar \"/\" (standardvärde för uteslutning)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "jokertecken matchar inte \"/\""
+
+#: src/names.c:768
 msgid "command line"
 msgstr "kommandorad"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: fillista begärd från %s redan läst från %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "kan inte dela sträng \"%s\": %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: filnamnet som lästes innehåller nolltecken"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Mönstermatchningstecken används i filnamn"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1364,45 +1527,45 @@ msgstr ""
 "Använd --wildcards för att slå på mönstermatchning, eller --no-wildcards för "
 "att undertrycka denna varning"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Fanns inte i arkivet"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Nödvändig förekomst hittades inte i arkivet"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arkivmärkning stämmer inte överrens"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Bara en -C-flagga är tillåtet med --listed-incremental"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, 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"
+msgstr "Flaggorna \"%s\" och \"%s\" vill båda läsa från standard in"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Ogiltigt arkivformat"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-tillägg önskade i ett inkompatibelt arkivformat"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1410,7 +1573,7 @@ msgstr ""
 "Okänd citeringsstil \"%s\". Gör \"%s --quoting-style=help för att få en "
 "lista."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1428,7 +1591,7 @@ 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:387
+#: src/tar.c:363
 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 "
@@ -1450,80 +1613,88 @@ msgstr ""
 "annars\n"
 "  never, simple   gör alltid enkla säkerhetskopior\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Operationsläge:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "visa innehållet i arkivet"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "extrahera filer från arkivet"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "skapa ett nytt arkiv"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "visa skillnader mellan filsystemet och arkivet"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "lägg till filer på slutet av arkivet"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "lägg till filer som är nyare än de i arkivet"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "lägg till innehållet i en arkivfil till arkivet"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "ta bort från arkivet (inte för arkiv på magnetband!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "verifiera arkivets volymnamn och avsluta."
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Modifiera operationslägen:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "hantera filer med hål mer effektivt"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "ÖVRE[.UNDRE]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "hantera gamla GNU-formatet för inkrementell säkerhetskopiering"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "hantera nya GNU-formatet för inkrementell säkerhetskopiering"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "dumpa nivå för \"listed-incremental\" arkiv"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "avsluta inte med felslutstatus p.g.a. oläsbara filer"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1535,137 +1706,146 @@ 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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "arkivet är sökbart"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "arkivet är inte sökbart"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "kontrollera inte enhetsnummer när inkrementella arkiv skapas"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "kontrollera enhetsnummer när inkrementella arkiv skapas (standardvärde)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Kontrollera överskrivning:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "försök verifiera arkivet efter det skapats"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "ta bort filer efter de sparats i arkivet"
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "ersätt inte befintliga filer vid extrahering, behandla dem som fel"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "ersätt inte befintliga filer vid extrahering, hoppa tyst över dem"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "skriv över befintliga filer vid extrahering"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "ta bort befintliga filer innan de nya extraheras"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "töm kataloghierarkier före extrahering av katalog"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "bevara befintliga katalogers metadata"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "skriv över metadata för befintliga kataloger vid extrahering (standardvärde)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "bevara befintliga symboliska länkar till kataloger vid extrahering"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "KATALOG"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "skapa en underkatalog för att undvika att kataloglösa filer extraheras"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Välj utdataström:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "extrahera filer till standard ut"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "KOMMANDO"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "extrahera filer till standard in för ett annat program"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "ignorera barnprocessers slutstatus"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
-msgstr "behandla slutstats från barnprocesser skiljt ifrån noll som fel"
+msgstr "behandla slutstatus från barnprocesser skiljt ifrån noll som fel"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Hantering av filattribut:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "sätt NAMN som ägare för adderade filer"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "sätt NAMN som grupp för adderade filer"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ELLER-FIL"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "RÄTTIGHET"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "sätt (symbolisk) RÄTTIGHET för adderade filer"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METOD"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1675,11 +1855,11 @@ msgstr ""
 "tiderna efter läsning (METOD=\"replace\", standardvärde) eller genom att "
 "inte sätta tiderna alls (METOD=\"system\")"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "extrahera inte filers modifieringstid"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1687,21 +1867,21 @@ msgstr ""
 "försök extrahera filer med samma ägare som i arkivet (standardvärde för "
 "superanvändaren)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 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:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "använd alltid tal för användar- och gruppnamn"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "extrahera information om filrättigheter (standardvärde för superanvändare)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1709,16 +1889,12 @@ msgstr ""
 "applicera användarens umask när rättigheter extraheras från arkivet "
 "(standardvärde för vanliga användare)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr "namnargument är givna i samma ordning som filerna förekommer i arkivet"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "samma som både -p och -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1726,187 +1902,187 @@ msgstr ""
 "fördröj sättandet av modifikationstider och rättigheter på extraherade "
 "kataloger till slutet på arkivextraheringen."
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "ta bort effekten av flaggan --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDNING"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "sorteringsordning för kataloger: ingen (standard) eller namn"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Hantering av utökade filattribut:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Aktivera stöd för utökade attribut"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Avaktivera stöd för utökade attribut"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MÖNSTER"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr "ange inkuderingsmönster för xattr-nycklar"
+msgstr "ange inkluderingsmönster för xattr-nycklar"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "ange exkluderingsmönster för xattr-nycklar"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Aktivera stöd för SELinux-omgivningar"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Avaktivera stöd för SELinux-omgivningar"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Aktivera stöd för POSIX ACL"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Avaktivera stöd för POSIX ACL"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Enhetsval och enhetsbyte:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARKIV"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "använd arkivfil eller enhet ARKIV"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "arkivfilen är lokal även om namnet har kolon"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "använd KOMMANDO istället för rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "använd KOMMANDO istället för rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "ange enhet och densitet"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "skapa/visa/extrahera ett flervolymsarkiv"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "byt band efter det att NUMMER x 1024 byte skrivits"
 
-#: src/tar.c:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "använd/uppdatera volymnummer i FIL"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Blockhantering:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOCK"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOCK x 512 byte per post"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NUMMER byte per post, multipel av 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignorera block med enbart nolltecken (betyder filslut)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "omblocka vid läsning (för 4.2BSD-rör)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Val av arkivformat:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "skapa ett arkiv med givet format"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT är ett av följande:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "gammalt V7 format"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-format enligt tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "Format från GNU tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) format"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) format"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "samma som pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "samma som --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "samma som --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "nyckelord[[:]=värde][,nyckelord[[:]=värde], ...]"
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "ange nyckelord för pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "NAMN"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1914,180 +2090,79 @@ msgstr ""
 "skapa ett arkiv med volymnamnet NAMN. Vid visning/extrahering är NAMN ett "
 "skalmönster (\"globbing\")"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Komprimeringsflaggor:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "använd arkivsuffix för att bestämma komprimeringsprogram"
 
-#: src/tar.c:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "filtrera genom PROG (måste förstå -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Filval:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "byt katalog till KATALOG"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "hämta namn att extrahera eller skapa från FIL"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T läser namn åtskilda med nolltecken, -C obrukbar"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "ta bort effekten av föregående --null-flagga"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "avcitera filnamn som lästs med -T (standardvärde)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "avcitera inte filnamn som lästs med -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "MÖNSTER"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "utelämna filer som matchar MÖNSTER"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "utelämna filer som matchar mönster i FIL"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"utelämna innehållet i kataloger som innehåller CACHEDIR.TAG, förutom "
-"CACHEDIR.TAG själv"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "utelämna allt i kataloger som innehåller CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "utelämna kataloger som innehåller CACHEDIR.TAG"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "utelämna allting i kataloger som innehåller FIL"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "utelämna kataloger som innehåller FIL"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "uteslut kataloger från versionshanteringssystem"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "exkludera säkerhetskopior och låsfiler"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "gå inte automatiskt ned i kataloger"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "byt inte filsystem när arkivet skapas"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "gå rekursivt ned i kataloger (standardvärde)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "tag inte bort inledande \"/\" från namn"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "NAMN"
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "börja med fil NAMN när arkivet läses"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "arkivera bara filer nyare än DATUM-ELLER-FIL"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "jämför datum och tid endast för dataändringar"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "KONTROLL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "gör säkerhetskopior före borttagning, välj typ av versionshantering"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "STRÄNG"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2096,99 +2171,61 @@ msgstr ""
 "säkerhetskopieändelsen (\"~\" om inte ändrad med miljövariabeln "
 "SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Filnamnstransformationer:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "UTTRYCK"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "använd seds ersättnings-UTTRYCK för att transformera filnamn"
 
-#: src/tar.c:792
-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:795
-msgid "ignore case"
-msgstr "matcha gemener och versaler lika"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "mönster måste matcha i början på filnamn"
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "mönster matchas efter \"/\" i filnamn (standardvärde vid uteslutning)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "matcha gemener och versaler olika (standardvärde)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "använd jokertecken (standardvärde för uteslutning)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "ordagrann strängjämförelse"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "jokertecken matchar inte \"/\""
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "jokertecken matchar \"/\" (standardvärde för uteslutning)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Informativ utskrift:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "visa namn på alla filer som behandlas"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "NYCKELORD"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "varningskontroll"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ÅTGÄRD"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "utför ÅTGÄRD vid vare kontrollpunkt"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "visa ett meddelande om inte alla länkar arkiverats"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2199,35 +2236,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:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "visa filers modifieringstid i UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "visa full upplösning på filtider"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "skicka informativa meddelanden till FIL"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "visa blocknummer inom arkivet för varje meddelande"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "fråga efter bekräftelse för varje steg"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "visa standardvärden för \"tar\""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "visa giltiga intervall för fält i ögonblicksfil"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2235,31 +2272,31 @@ msgstr ""
 "vid visning eller extrahering, visa varje katalog som inte matchar "
 "sökkriterium"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "visa fil- eller arkivnamn efter transformering"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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."
+msgstr "sätt citatstil för namn. Se nedan för giltiga värden på STIL."
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "citera även tecken i STRÄNG"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "citera inte tecken i STRÄNG"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Kompatibilitetsflaggor:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2267,15 +2304,22 @@ msgstr ""
 "vid skapande, samma som --old-archive.  Vid extrahering, samma som --no-same-"
 "owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Andra flaggor:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "begränsa användningen av eventuellt farliga flaggor"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "flaggan \"%s\" kan inte användas med \"%s\""
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2283,40 +2327,40 @@ msgstr ""
 "Du kan endast ange en av flaggorna \"-Acdtrux, \"--delete\" eller \"--test-"
 "label\""
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Motstridiga komprimeringsflaggor"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Okänt signalnamn: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Tidsfil hittades inte"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, 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:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Flagga %s: Tolkar tidsangivelse \"%s\" som %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtrera arkivet genom %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Giltiga argument till flaggan --quoting-style är:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2324,185 +2368,196 @@ msgstr ""
 "\n"
 "*Denna* tar har standardvärdena:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "Ogiltig ägare eller grupp-id"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Ogiltig blockfaktor"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Ogiltig bandlängd"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
-msgstr "Felaktigt värde fär inkrementell nivå"
+msgstr "Felaktigt värde fÃr inkrementell nivå"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Mer än en datumgräns"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Ogiltig version för filer med hål"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve=\"system\" stöds inte på denna plattform"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint-värdet är inte ett heltal"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Ogiltiga rättigheter givna för flagga"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Ogiltigt nummer"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Flaggan --preserve är föråldrad, använd --preserve-permissions --preserve-"
-"order istället"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Ogiltig poststorlek"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Poststorlek måste vara en multipel av %d"
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Ogiltig antal element"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Endast en --to-command flagga tillåten"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Ogiltig densitetsangivelse: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Okänd densitet: \"%c\""
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Fel vid parsning av tal nära \"%s\""
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FIL]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "flaggan --%s kan inte användas med %s"
+msgid "non-option arguments in %s"
+msgstr "ogiltigt argument %s för %s"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "kan inte dela sträng \"%s\": %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Gammal flagga \"%c\" kräver ett argument"
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence är meningslöst utan en fillista"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "Multipla arkivfiler kräver \"-M\" flaggan"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level är meningslös utan --listed-incremental"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Flervolymsarkiv kan inte verifieras"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Komprimerade arkiv kan inte verifieras"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan inte använda komprimerade flervolymsarkiv"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimerade arkiv kan inte slås samman"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Kan inte lista ut namnet på toppkatalogen, sätt det explicit med --one-top-"
+"level=KATALOG"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Volymlängden kan inte vara mindre än poststorleken"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vägrar fegt att skapa ett tomt arkiv"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Flaggorna \"-Aru\" är inkompatibla med \"-f -\""
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Du måste ange en av flaggorna \"-Acdtrux\", \"--delete\" eller --test-label"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Avslutar med felstatus på grund av tidigare fel"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "sorteringsordning för kataloger: ingen (standard), namn eller inod"
 
 #: src/update.c:87
 #, c-format
@@ -2554,36 +2609,36 @@ msgstr "Felaktigt utökat huvud: nyrad saknas"
 #: src/xheader.c:741
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr "Ignorerar nykelord \"%s\" i utökat huvud"
+msgstr "Ignorerar nyckelord \"%s\" i utökat huvud"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Felaktigt utökat huvud: ogiltig %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Felaktigt utökat huvud: för många %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Felaktigt utökat huvud: ogiltigt %s: udda antal värden"
@@ -2624,7 +2679,7 @@ msgstr "Kontrollpunkt för skrivning %u"
 msgid "Read checkpoint %u"
 msgstr "Kontrollpunkt för läsning %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2632,69 +2687,73 @@ msgstr ""
 "genfile bearbetar datafiler i testsviten för GNU paxutils.\n"
 "FLAGGOR är:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Flaggor för filskapande:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "STORLEK"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Skapa ett arkiv med given STORLEK"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Skriv till NAMN istället för till standard ut"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Läs filnamn från FIL"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T läser namn åtskilda med nolltecken"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Fyll filen med givet MÖNSTER. MÖNSTER är \"default\" eller \"zeros\""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Storlek för ett block för filer med hål"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Generera fil med hål. Resten av kommandoraden ger filmappningen."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "POSITION"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Flytta till given position innan data skrivs"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Flaggor för filstatistik:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Skriv innehållet i \"struct stat\" för varje given fil. Standardvärde på "
 "FORMAT är:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Flaggor för synkron exekvering:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "FLAGGA"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2702,19 +2761,19 @@ msgstr ""
 "Kör ARGUMENT. Användbart med --checkpoint och en av --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Utför angiven åtgärd (se nedan) när kontrollpunkt NUMMER nås"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Sätt datum för nästa --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Visa exekverade kontrollpunkter och slutstatus på KOMMANDO"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2722,7 +2781,7 @@ msgstr ""
 "Synkront exekverade åtgärder. Dessa exekveras när kontrollpunktnumret givet "
 "av flaggan --checkpoint nås."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2730,161 +2789,159 @@ msgstr ""
 "Trunkera FIL till storleken given av föregående flaggan --length (eller 0 om "
 "den inte är given)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Lägg till STORLEK byte till FIL.  STORLEK är given av föregående flagga --"
 "length."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Uppdatera access- och modifikationstider för FIL"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Exekvera KOMMANDO"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Ta bort (unlink) FIL"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ogiltigt storlek: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Nummer utanför giltigt intervall: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativ storlek: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "status (stat) kunde ej tas på %s"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "begärd fillängd %lu, verklig %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "skapad fil har inte hål"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fel vid parsning av tal nära \"%s\""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Okänt datumformat"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGUMENT...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "kan inte öppna \"%s\""
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "kan inte flytta (seek)"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "filnamnet innehåller nolltecken"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "felaktig mask (nära \"%s\")"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Okänt fält \"%s\""
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "kan inte sätta tid på \"%s\""
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "kan inte trunkera \"%s\""
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "kommando misslyckades: %s "
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "kan inte ta bort \"%s\""
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Kommandot avslutades utan fel\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Kommandot misslyckades med slutstatus %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Kommandot terminerades av signal %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Kommandot stoppades av signal %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Kommandot dumpade minnet\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Kommandot avslutade\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat kräver filnamn"
 
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence kan inte användas med %s"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Kan inte kombinera --listed-incremental med --newer"
-
-#~ msgid "--verify cannot be used with %s"
-#~ msgstr "--verify kan inte användas med %s"
+#~ msgid "same as both -p and -s"
+#~ msgstr "samma som både -p och -s"
 
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order är inte kompatibel med --listed-incremental"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Flaggan --preserve är föråldrad, använd --preserve-permissions --preserve-"
+#~ "order istället"
index bce5b8da9b5aaaf411ce6434fc845a485b0ddb3b..9153cd38def3414fd0d2fb8fc2ca0fd640c5de9f 100644 (file)
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: GNU tar 1.29\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -19,188 +19,193 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr ""
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr ""
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr ""
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
 msgstr ""
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr ""
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr ""
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr ""
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr ""
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr ""
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr ""
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr ""
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr ""
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr ""
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr ""
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr ""
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr ""
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr ""
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr ""
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr ""
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr ""
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr ""
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr ""
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr ""
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr ""
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr ""
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr ""
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr ""
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr ""
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr ""
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr ""
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr ""
@@ -226,11 +231,11 @@ msgstr ""
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr ""
 
@@ -240,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr ""
 
@@ -250,16 +255,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -267,11 +272,11 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -282,19 +287,19 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr ""
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr ""
@@ -302,7 +307,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -312,7 +317,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -322,7 +327,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -332,7 +337,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -342,7 +347,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -353,7 +358,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -364,7 +369,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -376,29 +381,29 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr ""
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr ""
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
@@ -563,8 +568,8 @@ msgstr ""
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr ""
 
@@ -572,10 +577,11 @@ msgstr ""
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr ""
 
@@ -588,7 +594,7 @@ msgstr ""
 msgid "cannot open %s"
 msgstr ""
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -597,110 +603,110 @@ msgstr ""
 msgid "Garbage command"
 msgstr ""
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr ""
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr ""
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 msgid "Total bytes deleted"
 msgstr ""
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr ""
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr ""
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr ""
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr ""
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr ""
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr ""
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr ""
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr ""
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr ""
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr ""
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -708,71 +714,71 @@ msgid ""
 " y or newline  Continue operation\n"
 msgstr ""
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr ""
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr ""
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
-msgid "%s is possibly continued on this volume: header contains truncated name"
+msgid "%s is not continued on this volume"
 msgstr ""
 
-#: src/buffer.c:1495
+#: src/buffer.c:1523
 #, c-format
-msgid "%s is not continued on this volume"
+msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr ""
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr ""
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr ""
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr ""
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr ""
 
@@ -783,20 +789,20 @@ msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/compare.c:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr ""
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr ""
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr ""
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr ""
 
@@ -812,7 +818,7 @@ msgstr ""
 msgid "Mod time differs"
 msgstr ""
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr ""
 
@@ -821,138 +827,138 @@ msgstr ""
 msgid "Not linked to %s"
 msgstr ""
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr ""
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr ""
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr ""
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr ""
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/compare.c:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr ""
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr ""
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr ""
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr ""
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr ""
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr ""
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr ""
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr ""
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr ""
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr ""
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr ""
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr ""
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr ""
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr ""
 
@@ -970,54 +976,54 @@ msgstr ""
 msgid "%s: time stamp %s is %s s in the future"
 msgstr ""
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr ""
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr ""
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr ""
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr ""
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr ""
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr ""
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr ""
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr ""
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr ""
@@ -1067,215 +1073,215 @@ msgstr ""
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr ""
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr ""
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr ""
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr ""
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr ""
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr ""
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr ""
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr ""
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr ""
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr ""
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr ""
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr ""
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr ""
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr ""
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr ""
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr ""
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr ""
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr ""
@@ -1288,80 +1294,228 @@ msgstr ""
 msgid "interprocess channel"
 msgstr ""
 
-#: src/names.c:360
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr ""
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr ""
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr ""
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr ""
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr ""
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr ""
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr ""
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr ""
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr ""
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr ""
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr ""
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr ""
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr ""
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr ""
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr ""
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr ""
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr ""
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr ""
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr ""
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr ""
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr ""
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr ""
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr ""
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr ""
+
+#: src/names.c:768
 msgid "command line"
 msgstr ""
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr ""
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr ""
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr ""
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr ""
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1372,7 +1526,7 @@ msgid ""
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1384,79 +1538,87 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr ""
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr ""
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1464,633 +1626,506 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr ""
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr ""
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr ""
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr ""
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:523
 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr ""
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr ""
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr ""
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr ""
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr ""
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr ""
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr ""
-
-#: src/tar.c:720
-msgid "unquote input file or member names (default)"
-msgstr ""
-
-#: src/tar.c:722
-msgid "do not unquote input file or member names"
-msgstr ""
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr ""
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr ""
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr ""
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr ""
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr ""
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr ""
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr ""
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr ""
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr ""
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr ""
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr ""
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr ""
-
-#: src/tar.c:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr ""
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr ""
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr ""
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2098,297 +2133,315 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr ""
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr ""
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr ""
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr ""
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr ""
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr ""
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr ""
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr ""
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr ""
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr ""
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr ""
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr ""
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr ""
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr ""
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr ""
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr ""
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr ""
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, c-format
-msgid "'%s' cannot be used with '%s'"
+msgid "non-option arguments in %s"
 msgstr ""
 
-#: src/tar.c:2389
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr ""
+
+#: src/tar.c:2293
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr ""
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr ""
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr ""
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr ""
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr ""
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr ""
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr ""
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr ""
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2444,34 +2497,34 @@ msgstr ""
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2512,243 +2565,247 @@ msgstr ""
 msgid "Read checkpoint %u"
 msgstr ""
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr ""
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr ""
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr ""
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr ""
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr ""
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr ""
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr ""
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr ""
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr ""
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr ""
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr ""
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr ""
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr ""
index 7170e9179c90cb9da3cf50ecd032175671631664..52da24aedc6aca72cc04367a266a5846e5aaae58 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index dff9a65b9aa2292ed23740ea124eec1582cead4d..3ba2002b59a67553304895656f5c5e354db32a60 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -3,12 +3,12 @@
 # This file is distributed under the same license as the tar package.
 # Nilgün Belma Bugüner <nilgun@buguner.name.tr>, 2001,..., 2007.
 # Volkan Gezer <vlkngzr@gmail.com>, 2013.
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.26\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2013-03-09 15:51+0100\n"
 "Last-Translator: Volkan Gezer <vlkngzr@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -19,46 +19,46 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Lokalize 1.5\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "`%2$s' için %1$s argümanı  geçersiz"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "`%2$s' için %1$s argümanı belirsiz"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Geçerli argümanlar:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT parametresi pozitif olmalı"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: ARGP_HELP_FMT ile belirtilen parametre bilinmiyor"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "ARGP_HELP_FMT bozuk: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -66,145 +66,150 @@ 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:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Kullanımı:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  veya: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [SEÇENEK...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, 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:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 "Yazılım hatalarını <%s> adresine,\n"
 "çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Bilinmeyen sistem hatası"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "bu yardım iletisi gösterilir"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "kısa bir kullanım iletisi gösterilir"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "İSİM"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "uygulama ismi"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "SAN"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "SANİYE saniye bekler (öntanımlı 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "sürüm bilgisi gösterilir"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(YAZILIM HATASI) Sürümünü bilmiyor!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: argüman sayısı fazla\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(YAZILIM HATASI) Seçenek tanınmak zorunda!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "yazma hatası"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: `%s' seçeneği belirsiz\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: `-W %s' seçeneği belirsiz\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, 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:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: `--%s' seçeneği bilinmiyor\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: `%c%s' seçeneği bilinmiyor\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: geçersiz seçenek -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, 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:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: `-W %s' seçeneği belirsiz\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "bellek tükendi"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "geçerli çalışma dizini kaydedilemiyor"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "başlangıç çalışma dizinine dönülemedi"
@@ -230,11 +235,11 @@ msgstr "başlangıç çalışma dizinine dönülemedi"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -244,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[eEyY]"
 
@@ -254,16 +259,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[hHnN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "%s (%s) tarafından paketlenmiş\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "%s tarafından paketlenmiş\n"
@@ -271,11 +276,11 @@ 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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -292,19 +297,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Yazan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Yazanlar %s ve %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Yazanlar %s, %s ve %s.\n"
@@ -312,7 +317,7 @@ 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
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: gnu/version-etc.c:119
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -324,7 +329,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -336,7 +341,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -348,7 +353,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -360,7 +365,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -374,7 +379,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -388,7 +393,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -403,7 +408,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -412,22 +417,22 @@ msgstr ""
 "\n"
 "Hataları şuraya bildirin: %s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "%s hatalarını şuraya bildirin: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s ana sayfası: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s ana sayfası: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "GNU yazılımı kullanımı hakkında genel yardım: <http://www.gnu.org/gethelp/>\n"
@@ -595,8 +600,8 @@ msgstr "Beklenmeyen argümanlar"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Uzak bir işlem komutları kabul eden, bir kaset sürücüsü değiştir"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "SAYI"
 
@@ -604,10 +609,11 @@ msgstr "SAYI"
 msgid "set debug level"
 msgstr "hata ayıklama seviyesini ayarla"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "DOSYA"
 
@@ -620,7 +626,7 @@ msgstr "hata ayıklama çıktı dosyasının adını ayarla"
 msgid "cannot open %s"
 msgstr "%s açılamıyor"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "argüman sayısı çok fazla"
@@ -629,111 +635,111 @@ msgstr "argüman sayısı çok fazla"
 msgid "Garbage command"
 msgstr "Bozuk komut"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Bu bir tar arşivi gibi görünmüyor"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Okunan toplam bayt"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Yazılan toplam bayt"
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Silinen toplam bayt: %s\n"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(boru)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "record_size için geçersiz değer"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Arşiv ismi verilmemiş"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "stdG/stdÇ arşivi doğrulanamaz"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Aeşiv sıkıştırılmış. %s seçeneğini kullanın"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Sıkıştırılmış arşivler güncellenemez"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Bandın başlangıcında, şimdilik çıkıyor"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Çok hata var, çıkıyor"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek bir kaydın sınırında durmadı"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: geçersiz bölüm numarası içeriyor"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Bölüm numarası kapsamdışı"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Kullanıcı cevabı beklenirken dosya sonuna gelindi"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "UYARI: Arşiv eksik"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -744,72 +750,72 @@ msgstr ""
 " q                   Uygulama sonlandırılır\n"
 " y veya <enter>      İşlem sürdürülür\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !                   bir alt kabuk açılır\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?                    Bu listeyi basar\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Yeni bölüm yok; çıkıyor.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "Dosya ismi belirtilmemiş. Tekrar deneyin.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Girdi geçersiz, Yardım için ? yazın.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "%s komutu başarısız"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s bu bölümde devam etmiyor"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s yanlış uzunluk (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Bu hacim sıranın dışında (% s -% s =% s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arşiv etiketi %s ile eşleşmiyor"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s bölümü %s ile eşleşmiyor"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, 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:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "yazma bir blok sınırında bitmiyor"
 
@@ -820,20 +826,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "İçerikler farklı"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Arşivde beklenmeyen dosya sonu"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Dosya türleri farklı"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Kipleri farklı"
 
@@ -849,7 +855,7 @@ msgstr "Grup-kimlikler farklı"
 msgid "Mod time differs"
 msgstr "Değişiklik zamanları farklı"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Uzunlukları farklı"
 
@@ -858,139 +864,139 @@ msgstr "Uzunlukları farklı"
 msgid "Not linked to %s"
 msgstr "%s'e bağlı değil"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Sembolik bağlar farklı"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Aygıt numaraları farklı"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Doğrulama "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, 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:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arşivdeki dosya isimleri dosya yolu içermiyor."
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Arşiv dönüştürülmüş dosya adları içeriyor."
 
-#: src/compare.c:540
+#: src/compare.c:544
 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:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "%s de tek başına sıfır bloğu"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: %s arabellekleme dizini yaftasını içeriyor; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Negatif sekizlik başlık üretiliyor"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, 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:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: bağ ismi çok uzun; dökümlenmedi"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "içerik dökümlenmedi"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Bilinmeyen dosya türü; dosya yoksayıldı"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "%s için bağlar kayıp."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: dosya değişmedi; dökümlenmedi"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: dosya arşivdir; dökümlenmedi"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "dizin dökümlenmedi"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: dosya okundu olarak imlendi"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket yoksayıldı"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: kapı yoksayıldı"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Sonraki başlığa atlanıyor"
 
@@ -1008,54 +1014,54 @@ msgstr "%s: makul olmayan eski tarih damgası %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: zaman damgası %s %s s gelecekte"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Dizin oluşturulurken anlaşılamayan uyumsuzluk"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Bitişik dosyaları normal dosyalar olarak çıkarıyor"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 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:1528
+#: src/extract.c:1573
 #, 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:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Umulmadık uzun isim başlığı"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, 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:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Mevcut %s daha yeni ya da yaşıt"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Bu dosyayı yedeklemek mümkün olmadı"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s ismi %s olarak değiştirilemez"
@@ -1106,129 +1112,130 @@ msgstr "Geçersiz düğüm numarası"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Anlık görüntü dosyasında beklenmeyen dosya sonu"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Kayıt sonlandırıcı eksik"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Arttırımlı dosya biçimi hatalı"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Desteklenmeyen arttırımlı biçim sürümü: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "dumpdir bozuk: umulan '%c' ama bulunan %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "dumpdir bozuk: 'X' yinelenmiş"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "dumpdir bozuk: 'R'deki isim boş"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "dumpdir bozuk: 'T' 'R' ile öncelenmemiş"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "dumpdir bozuk: 'T'deki isim boş"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "dumpdir bozuk: umulan'%c' ama bulunan veri sonu"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "dumpdir bozuk: 'X' hiç kullanılmamış"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "%s şablonu kullanılarak geçici dizin oluşturulamıyor"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: dizin temizlenmiyor: durumlama yapılamadı"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: dizin farklı bir aygıtta: temizlenmiyor"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s siliniyor\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Kaldırılamaz"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Geçiliyor"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** NUL bloku **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Dosya Sonu **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1236,87 +1243,87 @@ msgstr ""
 "ediliyor"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arşiv atıl base-64 başlıklar içeriyor"
 
-#: src/list.c:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " bağı -> %s \n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " bilinmeyen dosya türü %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Uzun  Bağ--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Uzun İsim--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Bölüm Başlığı--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Devamı bayt %s de--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Oluşturulan dizin:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s %s olarak değiştiriliyor\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: İsmi %s olarak değiştirilemez"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Gerisin geriye %s %s olarak değiştiriliyor\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Dosya okunamadan kaldırıldı"
@@ -1329,31 +1336,190 @@ msgstr "alt süreç"
 msgid "interprocess channel"
 msgstr "süreçlerarası kanal"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Yerel dosya seçimi:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DİZİN"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "DİZİN dizinine geçilir"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "çıkarılacak ya da oluşturulacak isimler DOSYAdan alınır"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T boş karakter sonlandırmalı isimleri okur, -C iptal edilir"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "önceki --null seçeneği etkisini devre dışı bırak"
+
+#: src/names.c:82
+#, fuzzy
+msgid "unquote input file or member names (default)"
+msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanır"
+
+#: src/names.c:84
+#, fuzzy
+msgid "do not unquote input file or member names"
+msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanmaz"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "ŞABLON"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "belirtilen ŞABLONa uyan dosyalar hariç tutulur"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "DOSYAdaki şablonlara uyan isimler hariç tutulur"
+
+#: src/names.c:95
+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/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "CACHEDIR.TAG içeren dizinlerin altındaki herşey hariç tutulur"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "CACHEDIR.TAG içeren dizinler hariç tutulur"
+
+#: src/names.c:103
+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/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "DOSYA içeren dizinlerin altındaki herşey hariç tutulur"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "DOSYA içeren dizinler hariç tutulur"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "sürüm denetimi sistem dizinlerini hariç tut"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "yedek ve kilit dosyalarını hariç tut"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "dizinlerin alt dizinlerine inilir (öntanımlı)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "dizinlerde özdevinimli olarak azalan sıralamadan kaçınılır"
+
+#: src/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "dosya isminin başlangıcına uyan kalıplar"
+
+#: src/names.c:134
+#, 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/names.c:136
+msgid "ignore case"
+msgstr "harf büyüklükleri önemsenmez"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "harf büyüklüklerine duyarlı eşleşme (öntanımlı)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "genelleme kalıpları kullanılır (dışlama için öntanımlı)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "birebir dizge eşleme"
+
+#: src/names.c:144
+#, fuzzy
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "'/' ile eşleşen genelleme kalıpları (dışlama için öntanımlı)"
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "'/' ile eşleşmeyen genelleme kalıpları"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "%s komutu başarısız"
 
-#: src/names.c:378
+#: src/names.c:786
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: dosya listesi zaten okundu"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "zaman `%s' olarak ayarlanamaz"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: okunan dosya ismi boş karakter içeriyor"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Kalıp eşleme karakterleri dosya isimlerinde kullanılmış"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1361,48 +1527,48 @@ 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:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Arşivde yok"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Arşivde bulunması gerekirken yok"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arşiv etiketi uyumsuzluğu"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 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:87
+#: src/tar.c:88
 #, 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:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Geçersiz arşiv biçimi"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU özellikleri ile uyumsuz arşiv biçimi"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1410,7 +1576,7 @@ msgstr ""
 "Sarmalama şekli `%s' bilinmiyor. Listeyi almak için `%s --quoting-"
 "style=help' yazın."
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1430,7 +1596,7 @@ 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:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1452,79 +1618,87 @@ 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:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Ana işlem kipi:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "bir arşiv içeriğini listeler"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "bir arşivdeki dosyaları çıkarır"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "yeni bir arşiv oluşturur"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "arşiv ile dosya sistemi arasındaki farklar bulunur"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "dosyaları arşivin sonuna ekler"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "sadece arşivdeki kopyasından daha yeni dosyalar eklenir"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "bir arşive tar dosyaları ekler"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "arşivden siler (teyplerde değil!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "arşiv bölüm etiketini sınar ve çıkar"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "İşlem değiştiriciler:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "seyrek dosyalar verimli şekilde elde edilir"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "ANA[.ALT]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "GNU eski tarz arttırımlı yedekleme tanınır"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "GNU yeni tarz arttırımlı yedekleme tanınır"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "oluşturulan listed-incremental arşivi için döküm seviyesi"
 
-#: src/tar.c:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 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, --"
@@ -1536,139 +1710,148 @@ 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:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "arşiv arama yapılabilen türde"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "arşiv aranabilir değil"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "artımlı arşivler oluştururken aygıt numaralarını denetleme"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "artımlı arşivler oluştururken aygıt numaralarını denetle (öntanımlı)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Üsteyazma denetimi:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "yazdıktan sonra arşivi doğrulamaya çalışır"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "arşive eklendikten sonra dosyalar silinir"
 
-#: src/tar.c:485
+#: src/tar.c:463
 #, 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:488
+#: src/tar.c:466
 #, 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:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "çıkarılırken mevcut dosyaların üzerine yazılır"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "çıkarılmadan önce mevcut dosya silinir"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "dizin çıkarılmadan önce alt dizinleri silinir"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "mevcut dizinlerin öznitelikleri korunur"
 
-#: src/tar.c:501
+#: src/tar.c:479
 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:504
+#: src/tar.c:482
 #, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "çıkarılırken mevcut dosyaların üzerine yazılır"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DİZİN"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Çıktı akımını seçiniz:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "dosyalar standart çıktıya çıkarılır"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "KOMUT"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "çıkarılan dosyaları başka bir uygulamaya borular"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "altsüreçlerin çıkış kodları yoksayılır"
 
-#: src/tar.c:522
+#: src/tar.c:500
 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:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Dosya özniteliklerinin elde edilmesi:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "İSİM eklenen dosyaların sahibi yapılır"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "İSİM eklenen dosyaların grubu yapılır"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DOSYA-TARİHİ"
 
-#: src/tar.c:534
+#: src/tar.c:516
 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:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "KİP"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "KİP eklenen dosyaların (sembolik) kipi yapılır"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "YÖNTEM"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1678,11 +1861,11 @@ 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:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "dosya değişiklik zamanı çıkarılmaz"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1690,21 +1873,21 @@ msgstr ""
 "dosyaları arşivde bulunduğu gibi aynı sahiplikle çıkarmayı deneyin (yetkili "
 "kullanıcı için öntanımlı)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 "dosyalar sizin sahipliğinizde çıkarın (normal kullanıcılar için öntanımlı)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "kullanıcı/grup isimleri yerine daima numaraları kullanılır"
 
-#: src/tar.c:551
+#: src/tar.c:535
 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:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1712,16 +1895,12 @@ 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:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "-p ve -s birlikte verilmiş gibi olur"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1729,188 +1908,188 @@ msgstr ""
 "herşey çıkarılana kadar çıkarılan dizinlerin izinleri ve değişiklik "
 "zamanlarının değiştirilmesi geciktirilir"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "--delay-directory-restore seçeneğinin etkisi iptal edilir."
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 #, fuzzy
 msgid "Handling of extended file attributes:"
 msgstr "Dosya özniteliklerinin elde edilmesi:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Aygıt seçimi ve aygıt değiştirme:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARŞİV"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "arşiv dosyası ya da ARŞİV aygıtı kullanılır"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "rmt yerine rmt KOMUT kullanılır"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "rsh yerine uzak uçta KOMUT kullanılır"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "sürücü ve yoğunluk belirtilir"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "çok bölümlü arşivi oluşturur/listeler/çıkarır"
 
-#: src/tar.c:629
+#: src/tar.c:611
 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:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "DOSYAda bölüm numarası kullanılır/güncellenir"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Aygıtın blok düzeni:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOK"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "kayıt başına BLOK x 512 bayt"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "512'nin katları olarak kayıt başına BOYUT bayt"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "arşivdeki sıfırlı bloklar yoksayılır (dosyasonu anlamında)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "okunmuş olarak yeniden bloklanır (4.2 BSD boruları için)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Arşiv biçimi seçimi:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "BİÇİM"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "belirtilen biçimin arşivi oluşturulur."
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "BİÇİM şunlardan biri olabilir:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "eski V7 tar biçimi"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "tar <= 1.12 için GNU biçimi"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x biçimi"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) biçimi"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) biçimi"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "pax ile aynı"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr " --format=v7 ile aynı"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "--format=posix ile aynı"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "isim[[:]=değer][,isim[[:]=değer]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "pax anahtar sözcüklerini denetler"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "METİN"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1918,184 +2097,84 @@ 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:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Sıkıştırma seçenekleri:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "sıkıştırma programını bulmak için arşiv sonekini kullan"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "sıkıştırma programını bulmak için arşiv sonekini kullanma"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "UYG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "arşivi UYG üzerinden geçirir (UYG -d kabul etmeli)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Yerel dosya seçimi:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "DİZİN dizinine geçilir"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "çıkarılacak ya da oluşturulacak isimler DOSYAdan alınır"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T boş karakter sonlandırmalı isimleri okur, -C iptal edilir"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "önceki --null seçeneği etkisini devre dışı bırak"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanır"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanmaz"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "ŞABLON"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "belirtilen ŞABLONa uyan dosyalar hariç tutulur"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "DOSYAdaki şablonlara uyan isimler hariç tutulur"
-
-#: src/tar.c:728
-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:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "CACHEDIR.TAG içeren dizinlerin altındaki herşey hariç tutulur"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "CACHEDIR.TAG içeren dizinler hariç tutulur"
-
-#: src/tar.c:736
-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:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "DOSYA içeren dizinlerin altındaki herşey hariç tutulur"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "DOSYA içeren dizinler hariç tutulur"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "sürüm denetimi sistem dizinlerini hariç tut"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "yedek ve kilit dosyalarını hariç tut"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "dizinlerde özdevinimli olarak azalan sıralamadan kaçınılır"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "arşiv oluşturulurken yerel dosya sisteminde kalınır"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "dizinlerin alt dizinlerine inilir (öntanımlı)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "dosya isimlerinin başındaki `/'lar ayrılmaz"
 
-#: src/tar.c:763
+#: src/tar.c:695
 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:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "sembolik bağları izle; hedeflerindeki dosyaları arşivle ve şuraya atıfta "
 "bulunan dosyaları dökümle"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "ÜYE-İSMİ"
 
-#: src/tar.c:767
+#: src/tar.c:699
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "arşivin ÜYE-İSMİ üyesinden başlanır"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "sadece DOSYA-TARİHİnden daha yeni dosyalar saklanır"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "TARİH"
 
-#: src/tar.c:772
+#: src/tar.c:704
 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:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "DENETİM"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "kaldırılmadan önce DENETİM sürümü seçilerek yedeklenir"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "DİZGE"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2103,100 +2182,59 @@ 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:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Dosya ismi dönüşümleri:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "İFADE"
 
-#: src/tar.c:786
+#: src/tar.c:718
 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:792
-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:795
-msgid "ignore case"
-msgstr "harf büyüklükleri önemsenmez"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "dosya isminin başlangıcına uyan kalıplar"
-
-#: src/tar.c:799
-#, 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:801
-msgid "case sensitive matching (default)"
-msgstr "harf büyüklüklerine duyarlı eşleşme (öntanımlı)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "genelleme kalıpları kullanılır (dışlama için öntanımlı)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "birebir dizge eşleme"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "'/' ile eşleşmeyen genelleme kalıpları"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "'/' ile eşleşen genelleme kalıpları (dışlama için öntanımlı)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Bilgilendirme çıktısı:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "işlenen dosyalar ayrıntılı listelenir"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "ANAHTAR SÖZCÜK"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "uyarı denetimi"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "İŞLEM"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "her kontrol noktasında İŞLEM çalıştır"
 
-#: src/tar.c:827
+#: src/tar.c:737
 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:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SiNYAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2207,80 +2245,87 @@ 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:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "dosya değişiklik zamanlarını UTC'ye göre bas"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "tüm çözünürlüğü kullanarak dosya zamanını bas"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "ayrıntılı çıktı DOSYAya gönderilir"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "her iletide arşiv içindeki blok sayısı gösterilir"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "her eylemden önce doğrulama istenir"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "tar öntanımlıları gösterilir"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 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:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "dönüşümden sonra dosya ve arşiv isimlerini gösterir"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "ŞEKİL"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "DİZGEdeki sarmalama karakterlerine ek olarak"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "DİZGEdeki karakterler için sarmalamayı iptal eder"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Uyumluluk seçenekleri:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 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:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Diğer seçenekler:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "bozuculuk olasılığı olan bazı seçeneklerin kullanımı iptal edilir"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s: %s e gidilemiyor"
+
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
@@ -2289,40 +2334,40 @@ msgstr ""
 "Aynı anda `-Acdtrux' veya `--test-label' seçeneklerinin sadece birini "
 "kullanabilirsiniz"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Sıkıştırma seçenekleri çelişiyor"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Bilinmeyen  sinyal ismi: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Tarih örnekleri dosyası bulunamadı"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, 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:1140
+#: src/tar.c:1066
 #, 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:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "arşivi %s üzerinden filtrele"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style seçeneği için geçerli argümanlar:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2330,178 +2375,187 @@ msgstr ""
 "\n"
 "*Bu* tar için öntanımlılar:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Sahip geçersiz"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Bloklama çarpanı geçersiz"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Kayıt ortamının uzunluğu geçersiz"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Geçersiz arttırımlı seviye değeri"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Birden fazla eşik tarihi"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Seyrek sürüm değeri geçersiz"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' seçeneği bu platformda desteklenmiyor"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint değeri bir tamsayı değil"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Seçenekte verilen kip geçersiz"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Sayı geçersiz"
 
-#: src/tar.c:1982
-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:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Kayıt uzunluğu geçersiz"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Kayıt uzunluğu %d nin katları olmalı"
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Elemen sayısı geçersiz"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Sadece tek bir --to-command seçeneği kullanılabilir"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Hatalı yoğunluk argümanı: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Bilinmeyen yoğunluk: '%c'"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Sayı çözümlenirken `%s' civarında hata"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[DOSYA]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "%s şablonu kullanılamıyor"
+msgid "non-option arguments in %s"
+msgstr "`%2$s' için %1$s argümanı  geçersiz"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "zaman `%s' olarak ayarlanamaz"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Eski seçenek `%c' bir argümanla kullanılır."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence bir dosya listesi olmaksızın anlamlı değil"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Çok sayıda arşiv dosyası `-M' seçeneği gerektirir"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--listed-incremental olmadan --level anlamsızdır"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Çok sayıda bölüm içeren arşivler doğrulanamaz"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Sıkıştırılmış arşivler doğrulanamaz"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 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:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Sıkıştırılmış arşivler birleştirilemez"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Hacim uzunluğu kayıt boyutundan daha az olamaz"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Bir boş arşivin oluşturulması ister istemez reddediliyor"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "`-Aru' seçenekleri `-f -' ile uyumsuz"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
@@ -2509,12 +2563,12 @@ msgstr ""
 "Aynı anda `-Acdtrux' veya `--test-label' seçeneklerinin sadece birini "
 "kullanmalısınız"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Önceki hatalar nedeniyle başarısız durumla çıkılıyor"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2570,34 +2624,34 @@ msgstr "Ek başlık bozuk: satırsonu eksik"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Bilinmeyen ek başlık anahtar sözcüğü `%s' yoksayılıyor"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, 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:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Ek başlık bozuk: %s=%s geçersiz"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, 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:1502
+#: src/xheader.c:1515
 #, 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:1512
+#: src/xheader.c:1525
 #, 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"
@@ -2638,7 +2692,7 @@ msgstr "Yazma sınama yeri %u"
 msgid "Read checkpoint %u"
 msgstr "Okuma sınaması yeri %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2646,70 +2700,74 @@ msgstr ""
 "genfile, GNU paxutils deneme araçları için veri dosyalarını işleme sokar.\n"
 "SEÇENEKLER:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Dosya oluşturma seçenekleri:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "BOYUT"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Dosya belirtilen BOYUTta oluşturulur"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Dosyalar standart çıktı yerine İSİM dosyasına yazılır"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Dosya isimleri DOSYAdan okunur"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T boş karakter sonlandırmalı isimleri okur"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Dosyayı belirtilen ŞABLON ile doldurur. ŞABLON 'default' veya 'zeros' "
 "olabilir"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Seyrek dosyalar için blok boyu"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Seyrek dosya üretilir. Komut satırının kalanı dosya eşlemini verir."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "KONUM"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Veriyi yazmadan önce belirtilen konuma gider"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Dosya istatistikleri seçenekleri:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Belirtilen her dosya için stat yapısının içeriğini basar. Öntanımlı BİÇİM: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "İcra eşzamanlama seçenekleri:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "SEÇENEK"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2717,19 +2775,19 @@ msgstr ""
 "Belirtilen ARGları çalıştır. --checkpoint ile ve --cut, --append, --touch "
 "seçeneklerinden biri ile birlikte kullanışlıdır"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Sınama SAYIsı aşıldığında belirtilen eylem uygulanır (aşağıya bakınız)"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Sonraki --touch seçeneği için tarih ayarlanır"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "İcra edilen sınamalar ve KOMUTun çıkış durumu gösterilir"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2737,172 +2795,169 @@ msgstr ""
 "Çalıştırma eylemlerini eşzamanlar. Bunlar --checkpoint seçeneği ile "
 "belirtilen sayı aşıldığında çalıştırılırlar."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 "DOSYA --length seçeneği ile belirtilen boyutta kırpılır (belirtilmemişse 0)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "DOSYAya BOYUT bayt eklenir. BOYUT evvelce --length seçeneği ile belirtilir."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "DOSYAnın değişiklik ve erişim zamanları güncellenir"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "KOMUT çalıştırılır"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "DOSYA bağlantısını kes"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Geçersiz boyut: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Numara izin verilen aralığın dışında: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatif boyut: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) başarısız"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "istenen dosya uzunluğu %lu, asıl %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "oluşturulan dosya seyrek değil"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Sayı çözümlenirken `%s' civarında hata"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Bilinmeyen tarih biçimi"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGÜMANLAR...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' açılamıyor"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "konumlanamıyor"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "dosya ismi boş karakter içeriyor"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "kalıp yanlış (`%s' yakınında)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Bilinmeyen alan `%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "zaman `%s' olarak ayarlanamaz"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "`%s' bağlantısı kesilemiyor"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "%s komutu başarısız"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' bağlantısı kesilemiyor"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Komut başarıyla sonlandı\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Komut %d çıkış durumu ile başarısız oldu\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Komut %d sinyali ile sonlandırıldı\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Komut %d sinyali ile durduruldu\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Komut bellek dökümü verdi\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Komut sonlandı\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat seçeneği dosya isimleri gerektirir"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "isimler arşivdeki sırasına göre çıkarılır"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence istenen işlem kipinde kullanılamaz"
+#~ msgid "same as both -p and -s"
+#~ msgstr "-p ve -s birlikte verilmiş gibi olur"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "--listed-incremental ile --newer birlikte kullanılamaz"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order, --listed-incremental ile uyumlu değil"
+#~ 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"
 
 #~ msgid "Field too long while reading snapshot file"
 #~ msgstr "Anlık görüntü dosyası okunurken alan çok uzun"
@@ -2916,9 +2971,21 @@ msgstr "--stat seçeneği dosya isimleri gerektirir"
 #~ msgid "Cannot get working directory"
 #~ msgstr "Çalışma dizini alınamıyor"
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "isimler arşivdeki sırasına göre çıkarılır"
+
 #~ msgid "Invalid group"
 #~ msgstr "Geçersiz grup"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "--occurrence istenen işlem kipinde kullanılamaz"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "--listed-incremental ile --newer birlikte kullanılamaz"
+
+#~ msgid "--preserve-order is not compatible with --listed-incremental"
+#~ msgstr "--preserve-order, --listed-incremental ile uyumlu değil"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "Ek başlık uzunluğu izin verilen aralığın dışında"
 
index a67beabf38177910533694c5c6f5238b03e7b147..319d2f4878ef7843a52e4a0688816d72c89f6341 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 1a69676fb19c14800524970205f670de455d975a..a8c3168041783694643537680d602287f6b33160 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -1,15 +1,16 @@
 # Ukrainian messages for GNU tar
 # This file is distributed under the same license as the tar package.
-# Copyright (C) 2010 Free Software Foundation, Inc.
-# Sergey Poznyakoff <gray@gnu.org>, 2005, 2006, 2007, 2008, 2009, 2010.
+# Copyright (C) 2016 Free Software Foundation, Inc.
 #
-#: src/create.c:1574
+# Sergey Poznyakoff <gray@gnu.org>, 2005-2010, 2016.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.24\n"
+"Project-Id-Version: tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2010-10-25 15:22+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-05-16 09:24+0300\n"
 "Last-Translator: Sergey Poznyakoff <gray@gnu.org>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -19,193 +20,197 @@ msgstr ""
 "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"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "непÑ\80авилÑ\8cний аргумент %s для %s"
+msgstr "некоÑ\80екÑ\82ний аргумент %s для %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "неоднозначний аргумент %s для %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
-msgstr "Ð\94озволенÑ\96 Ð°Ñ\80гÑ\83менÑ\82и Ñ\82акÑ\96:"
+msgstr "Ð\9aоÑ\80екÑ\82нÑ\96 Ð°Ñ\80гÑ\83менÑ\82и:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr "ARGP_HELP_FMT: Ð·Ð½Ð°Ñ\87еннÑ\8f %s Ñ\94 Ð¼ÐµÐ½Ñ\88е Ð½Ñ\96ж Ð°Ð±Ð¾ Ð´Ð¾Ñ\80Ñ\96внÑ\8eÑ\94 %s"
+msgstr "ARGP_HELP_FMT: Ð·Ð½Ð°Ñ\87еннÑ\8f %s Ñ\94 Ð¼ÐµÐ½Ñ\88им Ð°Ð±Ð¾ Ñ\80Ñ\96вним Ð·Ð° %s"
 
-#: gnu/argp-help.c:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: параметр ARGP_HELP_FMT вимагає значення"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: параметр ARGP_HELP_FMT має бути додатнім"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr "%.*s: Ð\9dевідомий параметр ARGP_HELP_FMT"
+msgstr "%.*s: Ð½евідомий параметр ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Хибні дані в ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 "Аргументи, обов'язкові для довгих ключів, є обов'язковими й для коротких."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Використання:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr " чи: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
-msgstr " [Ð\9eÐ\9fЦÐ\86Я...]"
+msgstr " [Ð\9fÐ\90РÐ\90Ð\9cÐ\95ТР...]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+#: gnu/argp-help.c:1688
+#, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
-msgstr ""
-"Спробуйте `%s --help' або `%s --usage' для отримання докладнішого опису.\n"
+msgstr "Віддайте команду «%s --help» або «%s --usage», щоб дізнатися більше.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Про помилки звітуйте на <%s>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Невідома системна помилка"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "вивести цю довідку"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "вивести коротке повідомлення про використання"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "НАЗВА"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "встановити назву програми"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "СЕКУНДИ"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "зачекати вказану кількість секунд (типово 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "вивести версію програми"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(ПОМИЛКА ПРОГРАМУВАННЯ) Невідома версія!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
-msgstr "%s: Ð\97абагато аргументів\n"
+msgstr "%s: Ð·абагато аргументів\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(Ð\9fÐ\9eÐ\9cÐ\98Ð\9bÐ\9aÐ\90 Ð\9fРÐ\9eÐ\93РÐ\90Ð\9cУÐ\92Ð\90Ð\9dÐ\9dЯ) Ð\9eпÑ\86Ñ\96Ñ\8f Ð¼Ð°Ð»Ð° Ð±Ñ\83Ñ\82и Ñ\80озпÑ\96знана!?"
+msgstr "(Ð\9fÐ\9eÐ\9cÐ\98Ð\9bÐ\9aÐ\90 Ð\9fРÐ\9eÐ\93РÐ\90Ð\9cУÐ\92Ð\90Ð\9dÐ\9dЯ) Ð\9fаÑ\80амеÑ\82Ñ\80 Ð¼Ð°Ð»Ð¾ Ð±Ñ\83Ñ\82и Ñ\80озпÑ\96знано!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "помилка запису"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
-#, fuzzy, c-format
+#: gnu/getopt.c:575 gnu/getopt.c:604
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: опція '%s' неоднозначна\n"
+msgstr "%s: неоднозначний параметр «%s»; можливі варіанти:"
+
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: неоднозначна опція `%s'\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: Ð¾Ð¿Ñ\86Ñ\96Ñ\8f '--%s' не може мати аргументу\n"
+msgstr "%s: Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '--%s' не може мати аргументу\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: Ð¾Ð¿Ñ\86Ñ\96Ñ\8f '%c%s' не може мати аргументу\n"
+msgstr "%s: Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '%c%s' не може мати аргументу\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
-#, fuzzy, c-format
+#: gnu/getopt.c:715 gnu/getopt.c:734
+#, c-format
 msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: Ð¾Ð¿Ñ\86Ñ\96Ñ\8f '%s' Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ\94 Ð°Ñ\80гÑ\83менÑ\82Ñ\83\n"
+msgstr "%s: Ð´Ð¾ Ð¿Ð°Ñ\80амеÑ\82Ñ\80а Â«--%s» Ñ\81лÑ\96д Ð´Ð¾Ð´Ð°Ñ\82и Ð°Ñ\80гÑ\83менÑ\82\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: Ð½ÐµÐ²Ñ\96дома Ð¾Ð¿Ñ\86Ñ\96Ñ\8f '--%s'\n"
+msgstr "%s: Ð½ÐµÐ²Ñ\96домий Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '--%s'\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: Ð½ÐµÐ²Ñ\96дома Ð¾Ð¿Ñ\86Ñ\96Ñ\8f '%c%s'\n"
+msgstr "%s: Ð½ÐµÐ²Ñ\96дома Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '%c%s'\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: Ð½ÐµÐ´Ñ\96йÑ\81на Ð¾Ð¿Ñ\86Ñ\96Ñ\8f -- '%c'\n"
+msgstr "%s: Ð½ÐµÐºÐ¾Ñ\80екÑ\82на Ð¿Ð°Ñ\80амеÑ\82Ñ\80 -- '%c'\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: Ð¾Ð¿Ñ\86Ñ\96Ñ\8f вимагає аргументу -- '%c'\n"
+msgstr "%s: Ð¿Ð°Ñ\80амеÑ\82Ñ\80 вимагає аргументу -- '%c'\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: Ð¾Ð¿Ñ\86Ñ\96Ñ\8f '-W %s' неоднозначна\n"
+msgstr "%s: Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '-W %s' неоднозначна\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: Ð¾Ð¿Ñ\86Ñ\96Ñ\8f '-W %s' не може мати аргументу\n"
+msgstr "%s: Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '-W %s' не може мати аргументу\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
-#, fuzzy, c-format
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
+#, c-format
 msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: Ð¾Ð¿Ñ\86Ñ\96Ñ\8f '%s' Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ\94 Ð°Ñ\80гÑ\83менÑ\82Ñ\83\n"
+msgstr "%s: Ð´Ð¾ Ð¿Ð°Ñ\80амеÑ\82Ñ\80а Â«-W %s» Ñ\81лÑ\96д Ð´Ð¾Ð´Ð°Ñ\82и Ð°Ñ\80гÑ\83менÑ\82\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "пам'ять вичерпана"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
-msgstr "не вдається змінити поточний каталог"
+msgstr "не вдалося змінити поточний каталог"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
-msgstr "не вдається зберегти поточний каталог"
+msgstr "не вдалося зберегти поточний каталог"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -228,11 +233,11 @@ msgstr "не вдається зберегти поточний каталог"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "'"
 
@@ -242,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yYтТ]"
 
@@ -252,28 +257,28 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nNнН]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr "Ð\9fакÑ\83вав %s (%s)\n"
+msgstr "Ð\97апаковано %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
-msgstr "Ð\9fакÑ\83вав %s\n"
+msgstr "Ð\97апаковано %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -285,25 +290,25 @@ msgstr ""
 "\n"
 "Ліцензія GPLv3+: GNU GPL версії 3 або пізнішої <http://gnu.org/licenses/gpl."
 "html>\n"
-"Це є вільне програмне забезпечення: ви можете змінювати та розповсюджувати "
+"Це вільне програмне забезпечення: ви можете змінювати та розповсюджувати "
 "його.\n"
-"Немає ЖОДНИХ ГАРАНТІЙ, в межах дозволених правом.\n"
+"Не надається ЖОДНИХ ГАРАНТІЙ в межах дозволених правом.\n"
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Автор: %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Автори: %s та %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Автори: %s, %s та %s.\n"
@@ -311,7 +316,7 @@ msgstr "Автори: %s, %s та %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -323,7 +328,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -335,7 +340,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -347,7 +352,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -359,7 +364,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -372,7 +377,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -386,7 +391,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -401,7 +406,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -412,22 +417,22 @@ msgstr ""
 "Про помилки у перекладі звітуйте за адресою <translation-team-uk@lists."
 "sourceforge.net>\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "Про помилки у програмі %s звітуйте на %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "домашня сторінка %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "домашня сторінка %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Загальна допомога щодо використання ПЗ GNU: <http://www.gnu.org/gethelp/>\n"
@@ -439,7 +444,7 @@ msgstr ""
 #: lib/paxerror.c:60 lib/paxerror.c:73
 #, c-format
 msgid "%s: Cannot %s"
-msgstr "%s: Ð\9fомилка у функції %s"
+msgstr "%s: Ð¿омилка у функції %s"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -448,22 +453,22 @@ msgstr "%s: Помилка у функції %s"
 #: lib/paxerror.c:86
 #, c-format
 msgid "%s: Warning: Cannot %s"
-msgstr "%s: Ð\9fопеÑ\80едженнÑ\8f: Ð\9fомилка у функції %s"
+msgstr "%s: Ð¿Ð¾Ð¿ÐµÑ\80едженнÑ\8f: Ð¿омилка у функції %s"
 
 #: lib/paxerror.c:95
 #, c-format
 msgid "%s: Cannot change mode to %s"
-msgstr "%s: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся змінити права доступу на %s"
+msgstr "%s: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾ся змінити права доступу на %s"
 
 #: lib/paxerror.c:103
 #, c-format
 msgid "%s: Cannot change ownership to uid %lu, gid %lu"
-msgstr "%s: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся змінити власника на uid %lu, gid %lu"
+msgstr "%s: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾ся змінити власника на uid %lu, gid %lu"
 
 #: lib/paxerror.c:129
 #, c-format
 msgid "%s: Cannot hard link to %s"
-msgstr "%s: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся створити жорстке посилання на %s"
+msgstr "%s: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾ся створити жорстке посилання на %s"
 
 #: lib/paxerror.c:181 lib/paxerror.c:213
 #, c-format
@@ -484,48 +489,48 @@ msgstr[2] "%s: Попередження: Помилка в позиції %s, п
 #: lib/paxerror.c:261
 #, c-format
 msgid "%s: Cannot seek to %s"
-msgstr "%s: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся виконати lseek до %s"
+msgstr "%s: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾ся виконати lseek до %s"
 
 #: lib/paxerror.c:277
 #, c-format
 msgid "%s: Warning: Cannot seek to %s"
-msgstr "%s: Ð\9fопеÑ\80едженнÑ\8f: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся виконати lseek до %s"
+msgstr "%s: Ð¿Ð¾Ð¿ÐµÑ\80едженнÑ\8f: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾ся виконати lseek до %s"
 
 #: lib/paxerror.c:286
 #, c-format
 msgid "%s: Cannot create symlink to %s"
-msgstr "%s: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся створити символічне посилання на %s"
+msgstr "%s: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾ся створити символічне посилання на %s"
 
 #: lib/paxerror.c:351
 #, c-format
 msgid "%s: Wrote only %lu of %lu byte"
 msgid_plural "%s: Wrote only %lu of %lu bytes"
-msgstr[0] "%s: Ð\92далося записати тільки %lu з %lu байта"
-msgstr[1] "%s: Ð\92далося записати тільки %lu з %lu байтів"
-msgstr[2] "%s: Ð\92далося записати тільки %lu з %lu байтів"
+msgstr[0] "%s: Ð²далося записати тільки %lu з %lu байта"
+msgstr[1] "%s: Ð²далося записати тільки %lu з %lu байтів"
+msgstr[2] "%s: Ð²далося записати тільки %lu з %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 "Ð\9fÑ\96дÑ\81Ñ\82ановка `.' Ð·Ð°Ð¼Ñ\96Ñ\81Ñ\82Ñ\8c Ð¿Ñ\83Ñ\81Ñ\82оÑ\97 Ð½Ð°Ð·Ð²Ð¸ Ñ\86Ñ\96лÑ\96 Ð¶Ð¾Ñ\80Ñ\81Ñ\82кого Ð¿Ð¾Ñ\81иланнÑ\8f"
+msgstr "Ð\97амÑ\96нÑ\8eÑ\94мо Ð¿Ð¾Ñ\80ожнÑ\94 Ð¿Ñ\80изнаÑ\87еннÑ\8f Ð¶Ð¾Ñ\80Ñ\81Ñ\82кого Ð¿Ð¾Ñ\81иланнÑ\8f Ð½Ð° `.'"
 
 #: lib/rtapelib.c:299
 #, c-format
 msgid "exec/tcp: Service not available"
-msgstr "exec/tcp: сервіс відсутній"
+msgstr "exec/tcp: немає доступу до служби"
 
 #: lib/rtapelib.c:303
 #, c-format
@@ -540,12 +545,12 @@ msgstr "stdout"
 #: lib/rtapelib.c:429
 #, c-format
 msgid "Cannot connect to %s: resolve failed"
-msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð¿Ñ\96д'Ñ\94днаÑ\82иÑ\81Ñ\8c Ð´Ð¾ %s: Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð²Ñ\81Ñ\82ановиÑ\82и Ð°Ð´Ñ\80еÑ\81Ñ\83 Ñ\85оÑ\81Ñ\82а"
+msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð·'Ñ\94днаÑ\82иÑ\81Ñ\8c Ð· %s: Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð²Ñ\81Ñ\82ановиÑ\82и Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð²Ñ\83зла"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð·Ð°Ð¿Ñ\83Ñ\81Ñ\82иÑ\82и Ð²Ñ\96ддаленÑ\83 Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÑ\83"
+msgstr "Ð\9fеÑ\80еÑ\81пÑ\80Ñ\8fмовÑ\83ваннÑ\8f Ñ\84айлÑ\96в Ð´Ð»Ñ\8f Ð²Ñ\96ддаленоÑ\97 Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ¸ Ð½Ðµ Ð¿ÐµÑ\80едбаÑ\87ено"
 
 #: lib/rtapelib.c:516
 #, c-format
@@ -582,7 +587,7 @@ msgstr "Передчасне закінчення файла"
 
 #: rmt/rmt.c:601
 msgid "Invalid operation code"
-msgstr "Ð\9dедÑ\96йÑ\81ний код операції"
+msgstr "Ð\9dекоÑ\80екÑ\82ний код операції"
 
 #: rmt/rmt.c:636 rmt/rmt.c:680
 msgid "Operation not supported"
@@ -596,8 +601,8 @@ msgstr "Неочікувані аргументи"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Керує стрічковим пристроєм, отримуючи команди від віддаленого процесу"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "ЧИСЛО"
 
@@ -605,23 +610,24 @@ msgstr "ЧИСЛО"
 msgid "set debug level"
 msgstr "встановити рівень налагоджування"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "ФАЙЛ"
 
 #: rmt/rmt.c:699
 msgid "set debug output file name"
-msgstr "встановити назву файлу для виходу налагоджування"
+msgstr "встановити назву файла для виходу налагоджування"
 
 #: rmt/rmt.c:715 rmt/rmt.c:783
 #, c-format
 msgid "cannot open %s"
-msgstr "не вдається відкрити %s"
+msgstr "не вдалося відкрити %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "забагато аргументів"
@@ -630,67 +636,68 @@ msgstr "забагато аргументів"
 msgid "Garbage command"
 msgstr "Хибна команда"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "Це не схоже на архів tar"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Прочитано байтів загалом"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Записано загалом"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Ð\92идалено Ð·Ð°Ð³Ð°Ð»Ð¾Ð¼: %s\n"
+msgstr "Ð\97агалÑ\8cна ÐºÑ\96лÑ\8cкÑ\96Ñ\81Ñ\82Ñ\8c Ð²Ð¸Ð»Ñ\83Ñ\87ениÑ\85 Ð±Ð°Ð¹Ñ\82Ñ\96в"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Відмовляємося читати вміст архіву з термінала (не вказано параметр -f?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Відмовляємося записувати вміст архіву до термінала (пропущено параметр -f?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "Недійсне значення record_size"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Не вказано назви архіву"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Неможливо перевіряти архів, записаний до stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
-msgstr "Ð\90Ñ\80Ñ\85Ñ\96в Ñ\81Ñ\82иÑ\81нений. Ð\92икоÑ\80иÑ\81Ñ\82овÑ\83йÑ\82е Ð¾Ð¿Ñ\86Ñ\96Ñ\8e %s"
+msgstr "Ð\90Ñ\80Ñ\85Ñ\96в Ñ\81Ñ\82иÑ\81нено. Ð\92икоÑ\80иÑ\81Ñ\82овÑ\83йÑ\82е Ð¿Ð°Ñ\80амеÑ\82Ñ\80 %s"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Не можна оновлювати стиснені архіви"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "На початку стрічки, закінчуємо"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Надто багато помилок, виконання перервано"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -698,7 +705,7 @@ msgstr[0] "Розмір запису = %lu блок"
 msgstr[1] "Розмір запису = %lu блоки"
 msgstr[2] "Розмір запису = %lu блоків"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -706,39 +713,39 @@ msgstr[0] "Невірне вирівнювання блоку (%lu байт) в
 msgstr[1] "Невірне вирівнювання блоку (%lu байти) в архіві"
 msgstr[2] "Невірне вирівнювання блоку (%lu байтів) в архіві"
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Не вдалося переміститись назад у архіві; можливо архів не можна прочитати "
-"без Ð¾Ð¿Ñ\86Ñ\96Ñ\97 -i"
+"без Ð¿Ð°Ñ\80амеÑ\82Ñ\80а -i"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek не зупинився на межі запису"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
-msgstr "%s: Ð¼Ñ\96Ñ\81Ñ\82иÑ\82Ñ\8c Ð½ÐµÐ²Ñ\96Ñ\80ний номер тому"
+msgstr "%s: Ð¼Ñ\96Ñ\81Ñ\82иÑ\82Ñ\8c Ð½ÐµÐºÐ¾Ñ\80екÑ\82ний номер тому"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Переповнення номера тому"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
-msgstr "Підготуйте том #%d архіву %s ї натиснить return: "
+msgstr "Підготуйте том #%d архіву %s ї натисніть Enter: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
-msgstr "Кінець файлу, замість очікуваної відповіді"
+msgstr "Кінець файла, замість очікуваної відповіді"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
-msgstr "Ð\9fÐ\9eÐ\9fÐ\95РÐ\95Ð\94Ð\96Ð\95Ð\9dÐ\9dЯ: Ð\9dезавершений архів"
+msgstr "Ð\9fÐ\9eÐ\9fÐ\95РÐ\95Ð\94Ð\96Ð\95Ð\9dÐ\9dЯ: Ð½езавершений архів"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -749,74 +756,74 @@ msgstr ""
 " q          Перервати роботу\n"
 " у або новий рядок  Продовжувати\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !          Викликати оболонку\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?          Вивести цю довідку\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Новий том відсутній. Завершення.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
-msgstr "Не вказано назви файлу. Спробуйте ще раз.\n"
+msgstr "Не вказано назви файла. Спробуйте ще раз.\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Недійсні вхідні дані. Наберіть ? щоб отримати підказку.\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "збій виконання `%s'"
 
-#: src/buffer.c:1491
+#: src/buffer.c:1511 src/buffer.c:1527
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s не продовжується у цьому томі"
+
+#: src/buffer.c:1523
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s можливо продовжується у цьому томі: заголовок містить обрізану назву"
 
-#: src/buffer.c:1495
-#, c-format
-msgid "%s is not continued on this volume"
-msgstr "%s не продовжується у цьому томі"
-
-#: src/buffer.c:1509
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s є неправильним розміром (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Цей том є за межами послідовності (%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Назви тому відсутня в архіві. Не можна порівняти з %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Етикетка тому %s не співпадає з %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
-"%s: назва файлу надто довга щоб зберегти її у заголовку тому GNU; назву "
+"%s: назва файла надто довга щоб зберегти її у заголовку тому GNU; назву "
 "обрізано"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "запис не закінчився на межі блоку"
 
@@ -828,20 +835,20 @@ msgstr[0] "Вдалося прочитати тільки %lu з %lu байта"
 msgstr[1] "Вдалося прочитати тільки %lu з %lu байтів"
 msgstr[2] "Вдалося прочитати тільки %lu з %lu байтів"
 
-#: src/compare.c:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Різниця у змісті"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Неочікуваний кінець файла в архіві"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
-msgstr "Різниця у типі файлу"
+msgstr "Різниця у типі файла"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Різниця у правах доступу"
 
@@ -857,7 +864,7 @@ msgstr "Різниця у значенні GID"
 msgid "Mod time differs"
 msgstr "Різниця у часі модифікації"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Різниця у розмірі"
 
@@ -866,87 +873,86 @@ msgstr "Різниця у розмірі"
 msgid "Not linked to %s"
 msgstr "Не є посиланням до %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Різниця у символічному посиланні"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Різниця у номері пристрою"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Перевірка "
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
-msgstr "%s: Ð\9dевÑ\96домий Ñ\82ип Ñ\84айлÑ\83 `%c', Ð¿ÐµÑ\80евÑ\96Ñ\80Ñ\8eÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f як звичайний файл"
+msgstr "%s: Ð½ÐµÐ²Ñ\96домий Ñ\82ип Ñ\84айла `%c', Ð¿Ð¾Ñ\80Ñ\96внÑ\8fно як звичайний файл"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
-msgstr "Ð\90Ñ\80Ñ\85Ñ\96в Ð¼Ñ\96Ñ\81Ñ\82иÑ\82Ñ\8c Ð½Ð°Ð·Ð²Ð¸ Ñ\84айлÑ\96в Ð±ÐµÐ· Ð¿Ð¾Ð¿ÐµÑ\80еджÑ\83Ñ\8eÑ\87иÑ\85 Ð¿Ñ\80еÑ\84Ñ\96кÑ\81Ñ\96в."
+msgstr "Ð\90Ñ\80Ñ\85Ñ\96в Ð¼Ñ\96Ñ\81Ñ\82иÑ\82Ñ\8c Ð½Ð°Ð·Ð²Ð¸ Ñ\84айлÑ\96в Ð· Ð²Ð¸Ð»Ñ\83Ñ\87еними Ð¿Ð¾Ñ\87аÑ\82ковими Ð¿Ñ\80еÑ\84Ñ\96кÑ\81ами."
 
 # FIXME: base=64?
-#: src/compare.c:535
-#, fuzzy
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
-msgstr "Ð\90Ñ\80Ñ\85Ñ\96в Ð¼Ñ\96Ñ\81Ñ\82иÑ\82Ñ\8c Ð·Ð°Ñ\81Ñ\82аÑ\80Ñ\96лÑ\96 Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ Ð· Ð¾Ñ\81новоÑ\8e 64"
+msgstr "У Ð°Ñ\80Ñ\85Ñ\96вÑ\96 Ð¼Ñ\96Ñ\81Ñ\82Ñ\8fÑ\82Ñ\8cÑ\81Ñ\8f Ð¿ÐµÑ\80еÑ\82воÑ\80енÑ\96 Ð½Ð°Ð·Ð²Ð¸ Ñ\84айлÑ\96в."
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "Перевірка може не знайти первинних файлів."
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
-msgstr[0] "Ð\9fÐ\9eÐ\9cÐ\98Ð\9bÐ\9aÐ\90 Ð\9fÐ\95РÐ\95Ð\92Ð\86РÐ\9aÐ\98: Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ %d Ð½ÐµÐ²Ñ\96Ñ\80ний заголовок"
+msgstr[0] "Ð\9fÐ\9eÐ\9cÐ\98Ð\9bÐ\9aÐ\90 Ð\9fÐ\95РÐ\95Ð\92Ð\86РÐ\9aÐ\98: Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ %d Ð½ÐµÐºÐ¾Ñ\80екÑ\82ний заголовок"
 msgstr[1] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовки"
 msgstr[2] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовків"
 
-#: src/compare.c:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Самотній блок нулів, зсув %s"
 
 # Не подобається мені це "кешування"...
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: містить мітку каталогу кешування `%s'; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "Значення %s поза межами діапазону типа %s %s..%s; заміна на %s"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "значення %s за межами діапазону типа %s %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Створення від'ємних вісімкових заголовків"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
-msgstr "%s: назва файлу занадто довга (макс. %d); не архівується"
+msgstr "%s: назва файла занадто довга (макс. %d); не архівується"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
-msgstr "%s: назва файлу занадто довга (не вдається розділити); не архівується"
+msgstr "%s: назва файла занадто довга (не вдалося розділити); не архівується"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: назва посилання занадто довга; не архівується"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -954,56 +960,56 @@ msgstr[0] "%s: Файл скоротився на %s байт; заповнен
 msgstr[1] "%s: Файл скоротився на %s байти; заповнення нулями"
 msgstr[2] "%s: Файл скоротився на %s байтів; заповнення нулями"
 
-#: src/create.c:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл знаходиться в іншої файлової системі; не архівується"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "вміст не архівується"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Невідомий тип файла; Файл проігноровано"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Відсутні деякі посилання до %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: файл не змінено; не архівується"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: файл є архівом; не архівується"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "каталог не архівується"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: файл змінився під час читання"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
-msgstr "%s: гніздо ігнорується"
+msgstr "%s: сокет проігноровано"
 
 # FIXME: door?
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
-msgstr "%s: двері ігноруються"
+msgstr "%s: двері проігноровано"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Перехід до наступного заголовка"
 
@@ -1021,58 +1027,58 @@ msgstr "%s: неймовірно стара дата %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: мітка часу %s зсунута на %s сек. до майбутнього"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Неочікувана суперечність під час створення каталогу"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s: пропускаємо наявний файл"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s: Каталог перейменовано перед тим, як tar встиг витягнути його стан"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Витягування безперервних файлів у звичайні"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Спроба перетворити символічні посилання на жорсткі"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
-msgstr "%s: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся витягнути -- файл починається в іншому томі"
+msgstr "%s: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾ся витягнути -- файл починається в іншому томі"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Неочікуваний кінець файла у заголовку довгої назви"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "%s: Ð\9dевÑ\96домий Ñ\82ип Ñ\84айлÑ\83 `%c', Ñ\81пÑ\80оба Ð²Ð¸Ñ\82Ñ\8fгнÑ\83Ñ\82и Ð¹Ð¾Ð³о як звичайний файл"
+msgstr "%s: Ð½ÐµÐ²Ñ\96домий Ñ\82ип Ñ\84айла `%c', Ð²Ð¸Ð´Ð¾Ð±Ñ\83Ñ\82о як звичайний файл"
 
 # FIXME: або сучасний?
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
-msgstr "Ð\86Ñ\81нÑ\83Ñ\8eÑ\87ий Ñ\84айл `%s' Ñ\94 Ð½Ð¾Ð²Ñ\96Ñ\88ий"
+msgstr "Ð\9fоÑ\82оÑ\87ний Ñ\84айл `%s' Ñ\94 Ð½Ð¾Ð²Ñ\96Ñ\88им"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Не вдалося створити резервну копію цього файла"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
-msgstr "Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся перейменувати %s на %s"
+msgstr "не Ð²Ð´Ð°Ð»Ð¾ся перейменувати %s на %s"
 
 #: src/incremen.c:494 src/incremen.c:536
 #, c-format
@@ -1085,166 +1091,167 @@ msgid "%s: Directory is new"
 msgstr "%s: Новий каталог"
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: файл знаходиться в іншої файлової системі; не архівується"
+msgstr "%s: каталог перебуває у іншій файловій системі; дамп не створено"
 
 #: src/incremen.c:587
 #, c-format
 msgid "%s: Directory has been renamed"
-msgstr "%s: Ð\9aаталог перейменовано"
+msgstr "%s: Ðºаталог перейменовано"
 
 #: src/incremen.c:1003 src/incremen.c:1018
 msgid "Invalid time stamp"
-msgstr "Ð\9dевÑ\96Ñ\80ний Ñ\87аÑ\81 Ñ\84айлÑ\83"
+msgstr "Ð\9dекоÑ\80екÑ\82на Ñ\87аÑ\81ова Ð¿Ð¾Ð·Ð½Ð°Ñ\87ка Ñ\84айла"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "Ð\9dевÑ\96Ñ\80на Ð´Ð°Ñ\82а Ð¼Ð¾Ð´Ð¸Ñ\84Ñ\96каÑ\86Ñ\96Ñ\97 (Ñ\81екÑ\83нди)"
+msgstr "Ð\9dекоÑ\80екÑ\82ний Ñ\87аÑ\81 Ð²Ð½ÐµÑ\81еннÑ\8f Ð·Ð¼Ñ\96н"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
-msgstr "Ð\9dедÑ\96йÑ\81ний час модифікації (наносекунди)"
+msgstr "Ð\9dекоÑ\80екÑ\82ний час модифікації (наносекунди)"
 
 #: src/incremen.c:1073
 msgid "Invalid device number"
-msgstr "Ð\9dевÑ\96Ñ\80ний номер пристрою"
+msgstr "Ð\9dекоÑ\80екÑ\82ний номер пристрою"
 
 #: src/incremen.c:1081
 msgid "Invalid inode number"
-msgstr "Ð\9dевÑ\96Ñ\80ний номер і-вузла"
+msgstr "Ð\9dекоÑ\80екÑ\82ний номер і-вузла"
 
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: байт %s: %s %.*s... задовгий"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Неочікуваний кінець файла-знімка"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: байт %s: за %s %s слідує некоректний байт 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: байт %s: (коректний діапазон %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: байт %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: байт %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Бракує ознаки кінця запису"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Неправильний формат файла знімку"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Такий інкрементний формат не підтримується: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 "Неправильно сформований dumpdir: очікувалося '%c' натомість знайдено %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Неправильно сформований dumpdir: 'X' вказаний двічі"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "Ð\9dевÑ\96Ñ\80ний формат dumpdir: пуста назва у `R'"
+msgstr "Ð\9dекоÑ\80екÑ\82ний формат dumpdir: пуста назва у `R'"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr "Ð\9dевÑ\96Ñ\80ний Ñ\84оÑ\80маÑ\82 dumpdir: `T' Ð±ÐµÐ· Ð¿Ð¾Ð¿ÐµÑ\80еднÑ\8cого `R'"
+#: src/incremen.c:1585
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
+msgstr "Ð\9dекоÑ\80екÑ\82ний Ñ\84оÑ\80маÑ\82 dumpdir: 'T' Ð±ÐµÐ· Ð¿Ð¾Ð¿ÐµÑ\80еднÑ\8cого 'R'"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Ð\9dевÑ\96Ñ\80ний формат dumpdir: пуста назва у `T'"
+msgstr "Ð\9dекоÑ\80екÑ\82ний формат dumpdir: пуста назва у `T'"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
-"Ð\9dевÑ\96Ñ\80ний формат dumpdir: очікувалося `%c', натомість знайдено кінець файла"
+"Ð\9dекоÑ\80екÑ\82ний формат dumpdir: очікувалося `%c', натомість знайдено кінець файла"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
-msgstr "Ð\9dевÑ\96Ñ\80ний формат dumpdir: `X' не використаний"
+msgstr "Ð\9dекоÑ\80екÑ\82ний формат dumpdir: `X' не використаний"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
-msgstr "Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся створити тимчасовий каталог використовуючи шаблон %s"
+msgstr "не Ð²Ð´Ð°Ð»Ð¾ся створити тимчасовий каталог використовуючи шаблон %s"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Каталог не очищується: не вдалося виконати stat"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: Каталог знаходиться на іншому пристрої: не очищується"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
-msgstr "%s: Ð¡Ñ\82иÑ\80аннÑ\8f %s\n"
+msgstr "%s: Ð²Ð¸Ð»Ñ\83Ñ\87аÑ\94мо %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
-msgstr "%s: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð²Ð¸Ð´Ð°Ð»ити"
+msgstr "%s: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð²Ð¸Ð»Ñ\83Ñ\87ити"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
-msgstr "%s: Ð\9fÑ\80опÑ\83Ñ\81каÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f"
+msgstr "%s: Ð¿Ñ\80опÑ\83Ñ\81каÑ\94мо"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** Містить нулі **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
-msgstr "блок %s: ** Кінець файлу **\n"
+msgstr "блок %s: ** Кінець файла **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1252,17 +1259,17 @@ msgstr ""
 "вважається, що це є двійкове доповнення"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Вісімкове значення %.*s знаходиться поза межами діапазону типу %s"
 
 # FIXME: base=64?
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архів містить застарілі заголовки з основою 64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
@@ -1270,76 +1277,76 @@ msgstr ""
 "типу %s"
 
 # FIXME: base-256
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Значення %s поза допустимими межами типу %s %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr "посилання до %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr "невідомий тип файла %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Довге посилання--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Довга назва--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Заголовок тому--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Продовжується з байту %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Створення каталогу:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Перейменовано %s у %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
-msgstr "%s: Ð\9dе Ð²Ð´Ð°Ñ\94Ñ\82Ñ\8cся перейменувати на %s"
+msgstr "%s: Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾ся перейменувати на %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Перейменовано %s назад у %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
-msgstr "%s: Ð¤Ð°Ð¹Ð» Ð±Ñ\83ло Ð²Ð¸Ð´Ð°Ð»ено перед тим як tar встиг його прочитати"
+msgstr "%s: Ð¤Ð°Ð¹Ð» Ð±Ñ\83ло Ð²Ð¸Ð»Ñ\83Ñ\87ено перед тим як tar встиг його прочитати"
 
 #: src/misc.c:1122
 msgid "child process"
@@ -1349,88 +1356,248 @@ msgstr "процес-нащадок"
 msgid "interprocess channel"
 msgstr "канал між процесами"
 
-#: src/names.c:360
-#, fuzzy
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "Вибір локальних файлів:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr "долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "КАТАЛОГ"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "перейти до вказаного каталогу"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "читати назви файлів для додання/видобування з вказаного файла"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr ""
+"файл, вказаний з параметром -T, містить назви, відокремлені нульовими "
+"символами; вмикає --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "відмінити дію попередньої параметра --null"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "усувати лапки з назв вхідних файлів або учасників (типово)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "не усувати лапки з назв вхідних файлів або учасників"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T вичитує назви файлів буквально (без аналізу опцій)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+"-T вважає слова що починаються з риски опціями (поведінка за замовчуванням)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "ШАБЛОН"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "не обробляти файли, назви яких відповідають вказаному шаблону"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "виключити назви що відповідають шаблонам, вказаним у файлі"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"не архівувати файли в каталогах, що містять CACHEDIR.TAG, з винятком самого "
+"файла"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "не архівувати каталоги, що містять CACHEDIR.TAG"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"не архівувати файли в каталогах, що містять ФАЙЛ, з винятком самого файла"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+"прочитати взірці виключення для кожного з каталогів із файла ФАЙЛ, якщо "
+"такий існує"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"прочитати взірці виключення для кожного з каталогів і його підкаталогів із "
+"файла ФАЙЛ, якщо такий існує"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "не архівувати жодні файли в каталогах, що містять ФАЙЛ"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "не архівувати каталоги, що містять ФАЙЛ"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "не архівувати каталоги систем керування версіями"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+"прочитати взірці виключення із файлів ігнорування системи керування версіями"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "не архівувати резерві файли та файли блокування"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "рекурсивно проходити каталоги (типово)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "не заходити автоматично у каталоги"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"Керування порівнюванням назв (впливає на взірці як вилучення, так і "
+"долучення):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "порівнювати шаблони з назвами файлів починаючи від початку назви"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "відповідність взірцям після усіх '/' (типово для виключення)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "шаблони ігнорують відмінності у регістрі символів"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "шаблони враховують регістр (типово)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "користатися шаблонами (типово для вилучення)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "порівнювати назви буквально"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "шаблони стосуються '/' (типово для виключення)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "шаблони не стосуються до '/'"
+
+#: src/names.c:768
 msgid "command line"
-msgstr "збій виконання `%s'"
+msgstr "рядок команди"
 
-#: src/names.c:378
-#, fuzzy, c-format
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: перелік файлів уже прочитано"
+msgstr "%s: список файлів, запит щодо якого надіслано з %s, вже прочитано з %s"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "не вдається встановити час файла `%s'"
+msgstr "не вдалося розділити рядок '%s': %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: прочитана назва файла містить нульовий символ"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "Назви файлів містять символи-шаблони"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
-"Ð\9aоÑ\80иÑ\81Ñ\82айÑ\82еÑ\81Ñ\8f Ð¾Ð¿Ñ\86Ñ\96Ñ\94Ñ\8e --wildcards Ð°Ð±Ð¸ Ñ\83вÑ\96мкнÑ\83Ñ\82и Ñ\88аблони, Ð°Ð±Ð¾ Ð¾Ð¿Ñ\86Ñ\96Ñ\94Ñ\8e --no-"
-"wildcards, щоб позбутися цього повідомлення"
+"Ð\9aоÑ\80иÑ\81Ñ\82айÑ\82еÑ\81Ñ\8f Ð¿Ð°Ñ\80амеÑ\82Ñ\80ом --wildcards Ð°Ð±Ð¸ Ñ\83вÑ\96мкнÑ\83Ñ\82и Ñ\88аблони, Ð°Ð±Ð¾ Ð¿Ð°Ñ\80амеÑ\82Ñ\80ом --"
+"no-wildcards, щоб позбутися цього повідомлення"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Не знайдено в архіві"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Потрібну копію у архіві не знайдено"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Незгідність назви тому"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
-"Ð\92икоÑ\80иÑ\81Ñ\82аннÑ\8f Ð¾Ð¿Ñ\86Ñ\96Ñ\97 -C Ñ\83 Ð¿ÐµÑ\80елÑ\96кÑ\83 Ñ\84айлÑ\96в Ñ\80азом Ð· Ð¾Ð¿Ñ\86Ñ\96Ñ\94Ñ\8e --listed-incremental "
-"не дозволяється"
+"Ð\92икоÑ\80иÑ\81Ñ\82аннÑ\8f Ð¿Ð°Ñ\80амеÑ\82Ñ\80а -C Ñ\83 Ð¿ÐµÑ\80елÑ\96кÑ\83 Ñ\84айлÑ\96в Ñ\80азом Ð· Ð¿Ð°Ñ\80амеÑ\82Ñ\80ом --listed-"
+"incremental не дозволяється"
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
-msgstr "Разом з --listed-incremental дозволяється лише одна опція -C"
+msgstr ""
+"Разом з --listed-incremental можна використовувати лише один параметр -C"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Обидві опції -%s і -%s вимагають доступу до стандартного входу"
+msgstr "Обидва параметри, «%s» і «%s», вимагають доступу до стандартного входу"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
-msgstr "%s: Ð\9dевÑ\96Ñ\80ний формат архіву"
+msgstr "%s: Ð½ÐµÐºÐ¾Ñ\80екÑ\82ний формат архіву"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Формат архіву є несумісним з розширеними властивостями GNU"
 
-#: src/tar.c:264
-#, fuzzy, c-format
+#: src/tar.c:265
+#, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
-"Невідомий стиль цитування `%s'. Наберіть `%s --quoting-style=help' аби "
+"Невідомий стиль цитування `%s'. Наберіть `%s --quoting-style=help', щоб "
 "отримати перелік стилів."
 
-#: src/tar.c:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1440,17 +1607,16 @@ 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' Ð·Ð°Ð¿Ð¸Ñ\81Ñ\83Ñ\94 Ð±Ñ\83дÑ\8c\8fкÑ\83 ÐºÑ\96лÑ\8cкÑ\96Ñ\81Ñ\82Ñ\8c Ñ\84айлÑ\96в Ð² Ð°Ñ\80Ñ\85Ñ\96в Ð½Ð° Ñ\81Ñ\82Ñ\80Ñ\96Ñ\87Ñ\86Ñ\96 Ð°Ð±Ð¾ Ð´Ð¸Ñ\81кÑ\83 Ð° "
-"також може витягувати окремі файли з архіву.\n"
+"GNU `tar' Ð·Ð°Ð¿Ð¸Ñ\81Ñ\83Ñ\94 Ð±Ñ\83дÑ\8c\8fкÑ\83 ÐºÑ\96лÑ\8cкÑ\96Ñ\81Ñ\82Ñ\8c Ñ\84айлÑ\96в Ð´Ð¾ Ð°Ñ\80Ñ\85Ñ\96вÑ\83 Ð½Ð° Ñ\81Ñ\82Ñ\80Ñ\96Ñ\87Ñ\86Ñ\96 Ð°Ð±Ð¾ Ð´Ð¸Ñ\81кÑ\83, "
+"а також може видобувати окремі файли з архіву.\n"
 "\n"
 "Приклади:\n"
 "  tar -cf archive.tar foo bar  # Створює archive.tar з файлів foo та bar.\n"
-"  tar -tvf archive.tar         # Виводить докладну інформацію про зміст\n"
+"  tar -tvf archive.tar         # Виводить список усіх файлів у архіві\n"
 "                               # archive.tar\n"
-"  tar -xf archive.tar          # Витягує усі файли з archive.tar.\n"
+"  tar -xf archive.tar          # Видобуває усі файли з archive.tar.\n"
 
-#: src/tar.c:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1462,237 +1628,255 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 "Типовим суфіксом резервних копій є `~', його можна змінити за допомогою\n"
-"опÑ\86Ñ\96Ñ\97 --suffix або змінної середовища SIMPLE_BACKUP_SUFFIX.\n"
-"               \n"
-"Створення резервних копій вмикається через опцію --backup або змінну "
-"середовища VERSION_CONTROL. Можливі значення:\n"
+"паÑ\80амеÑ\82Ñ\80а --suffix або змінної середовища SIMPLE_BACKUP_SUFFIX.\n"
+"\n"
+"Створення резервних копій вмикається за допомогою параметра --backup або\n"
+"змінної середовища VERSION_CONTROL. Можливі значення:\n"
 "\n"
+"  none, off       ніколи не створювати резервних копій\n"
 "  t, numbered     створювати резервні копії з номерами\n"
 "  nil, existing   створювати нумеровані копії, якщо такі вже існують,\n"
 "                  інакше - прості\n"
 "  never, simple   завжди створювати прості резервні копії\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Режими роботи:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "вивести вміст архіву"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "витягнути файли з архіву"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "створити новий архів"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "порівняти файли в архіві з файлами у файлової системі"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
-msgstr "долучити файли до існуючого архіву"
+msgstr "долучити файли до наявного архіву"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "долучати тільки такі файли, що є новішими за їх копії в архіві"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "долучити архів до архіву"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
-msgstr "видалити файли з архіву (не на стрічці!)"
+msgstr "вилÑ\83Ñ\87ити файли з архіву (не на стрічці!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "перевірити мітку тому та вийти"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Модифікатори режиму роботи:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "заощаджувати простір під час зберігання розсіяних файлів"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "ТИП"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "техніка розпізнавання дір"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "ГОЛОВНИЙ[.ДРУГОРЯДНИЙ]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "встановлює версію формату розсіяних файлів (вмикає --sparse)"
 
 # FIXME: incremental
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "обробка старого формату інкрементного архіву GNU"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "обробка нового формату інкрементного архіву GNU"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "рівень архівної копії для створення інкрементного архіву"
 
 # FIXME: хммм...
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "ігнорувати помилки читання файлів"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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 ""
-"обÑ\80облÑ\8fÑ\82и Ñ\82Ñ\96лÑ\8cки Ð²ÐºÐ°Ð·Ð°Ð½Ðµ Ð²Ñ\85одженнÑ\8f ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ñ\84айла Ð² Ð°Ñ\80Ñ\85Ñ\96вÑ\96. Ð¦Ñ\8f Ð¾Ð¿Ñ\86Ñ\96Ñ\8f є "
-"дійсною тільки разом з однією з опцій --delete, --diff, --extract, --list і "
-"з переліком файлів (у командному рядку або за допомогою опції -T). Типове "
-"ЧИСЛО: 1."
+"обÑ\80облÑ\8fÑ\82и Ñ\82Ñ\96лÑ\8cки Ð²ÐºÐ°Ð·Ð°Ð½Ðµ Ð²Ñ\85одженнÑ\8f ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ñ\84айла Ð² Ð°Ñ\80Ñ\85Ñ\96вÑ\96. Ð¦Ñ\8f Ð¿Ð°Ñ\80амеÑ\82Ñ\80 є "
+"дійсною тільки разом з одним з параметрів --delete, --diff, --extract, --"
+"list і з переліком файлів (у командному рядку або за допомогою параметра -"
+"T). Типове ЧИСЛО: 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "архів підтримує операцію seek"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "архів не підтримує операцію seek"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "не перевіряти номери пристрою під час створювання інкрементних архівів"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 "перевіряти номери пристрою під час створювання інкрементних архівів (типово)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Керування перезаписом:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "перевірити архів після запису в нього"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
-msgstr "видаляти файли після додавання до архіву"
+msgstr "вилÑ\83Ñ\87яти файли після додавання до архіву"
 
-#: src/tar.c:485
-#, fuzzy
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "не заміняти існуючи файли під час витягування"
+msgstr ""
+"не заміняти наявні файли під час видобування, вважати наявність файла "
+"помилкою"
 
-#: src/tar.c:488
-#, fuzzy
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "не заміняти існуючи файли під час витягування"
+msgstr ""
+"не заміняти наявні файли під час видобування, мовчки пропускати такі файли"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
-msgstr "не заміняти існуючи файли що є новішими за їх копії у архіві"
+msgstr "не заміняти наявні файли що є новішими за їх копії у архіві"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
-msgstr "перезаписувати існуючі файли під час витягування"
+msgstr "перезаписувати наявні файли під час видобування"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
-msgstr "видалÑ\8fÑ\82и ÐºÐ¾Ð¶Ð½Ð¸Ð¹ Ñ\84айл Ð¿ÐµÑ\80ед Ð²Ð¸Ñ\82Ñ\8fгуванням його копії"
+msgstr "вилÑ\83Ñ\87Ñ\8fÑ\82и ÐºÐ¾Ð¶Ð½Ð¸Ð¹ Ñ\84айл Ð¿ÐµÑ\80ед Ð²Ð¸Ð´Ð¾Ð±уванням його копії"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
-msgstr "спорожняти старий каталог перед витягуванням його копії з архіву"
+msgstr "спорожняти старий каталог перед видобуванням його копії з архіву"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
-msgstr "зберігати мета-дані існуючих каталогів"
+msgstr "зберігати мета-дані наявних каталогів"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
-msgstr ""
-"перезаписувати метадані існуючих каталогів під час витягування (типово)"
+msgstr "перезаписувати метадані наявних каталогів під час видобування (типово)"
 
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "пеÑ\80езапиÑ\81Ñ\83ваÑ\82и Ñ\96Ñ\81нÑ\83Ñ\8eÑ\87Ñ\96 Ñ\84айли Ð¿Ñ\96д Ñ\87аÑ\81 Ð²Ð¸Ñ\82Ñ\8fгування"
+msgstr "збеÑ\80Ñ\96гаÑ\82и Ð½Ð°Ñ\8fвнÑ\96 Ñ\81имволÑ\96Ñ\87нÑ\96 Ð¿Ð¾Ñ\81иланнÑ\8f Ð½Ð° ÐºÐ°Ñ\82алоги Ð¿Ñ\96д Ñ\87аÑ\81 Ð²Ð¸Ð´Ð¾Ð±ування"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "КАТАЛОГ"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "створити підкаталог для уникнення втрати видобутих файлів"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Вибір вихідного потоку:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
-msgstr "витягувати файли у стандартний вивід"
+msgstr "видобувати файли у стандартний вивід"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "передавати витягнуті файли до стандартного вводу іншої програми"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "ігнорувати коди завершення процесів-нащадків"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "вважати ненульовий код завершення нащадка помилкою"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
-msgstr "Обробка атрибутів файлу:"
+msgstr "Обробка атрибутів файла:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "встановлення вказаного користувача власником доданих файлів"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "встановлення групи з вказаною назвою групою власника доданих файлів"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "читати мапу трансляції імен користувачів та значень UID з ФАЙЛА"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "читати мапу трансляції імен груп та значень GID з ФАЙЛА"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-АБО-ФАЙЛ"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "встановлення часу останньої зміни доданих файлів"
 
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+"встановлювати час лише якщо файл є новіший за час вказаний опцією --mtime"
+
 # Ну, і чому це CHANGES??
-#: src/tar.c:535
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "ПРАВА"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "встановлення вказаних символічно прав доступу для доданих файлів"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "МЕТОД"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1702,11 +1886,11 @@ msgstr ""
 "читання (типово, МЕТОД='replace'), або через запобігання оновленню часу "
 "(МЕТОД='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
-msgstr "не витягувати час модифікації файлів"
+msgstr "не видобувати час модифікації файлів"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1714,21 +1898,21 @@ msgstr ""
 "встановлювати власників файлів за даними з архіву (типово для супер-"
 "користувача)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "стати власником витягнутих файлів (типово для звичайного користувача)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "завжди використовувати числа замість назв власника/групи"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "встановлювати права доступу згідно з даними архіву (типово для супер-"
 "користувача)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1736,492 +1920,341 @@ msgstr ""
 "встановлювати права доступу згідно зі значенням umask (типово для звичайного "
 "користувача)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
-msgstr ""
-
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "те ж, що -p -s разом"
+msgstr "аргументи участі вказано у тому самому порядку, що і файли у архіві"
 
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 "затримати встановлення часу модифікації та прав доступу до каталогів до "
-"кінця витягування"
+"кінця видобування"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
-msgstr "вÑ\96дмÑ\96ниÑ\82и Ð´Ñ\96Ñ\97 Ð¾Ð¿Ñ\86Ñ\96Ñ\97 --delay-directory-restore"
+msgstr "вÑ\96дмÑ\96ниÑ\82и Ð´Ñ\96Ñ\97 Ð¿Ð°Ñ\80амеÑ\82Ñ\80а --delay-directory-restore"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ПОРЯДОК"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
+"спосіб упорядковування каталогів: none (немає, типовий) або name (за назвою)"
 
-#: src/tar.c:578
-#, fuzzy
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr "Обробка атрибутів файлу:"
+msgstr "Обробка розширених атрибутів файлів:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Увімкнути підтримку розширених атрибутів"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Вимкнути підтримку розширених атрибутів"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "МАСКА"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "вказати взірець включення для ключів xattr"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "вказати взірець виключення для ключів xattr"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Увімкнути підтримку контекстів SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Вимкнути підтримку контекстів SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Увімкнути підтримку ACL POSIX"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Вимкнути підтримку ACL POSIX"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Вибір та зміна пристрою:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "АРХІВ"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "використовувати вказаний файл або пристрій"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "файл архіву є локальним, навіть якщо його назва містить двокрапку"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "використовувати вказану команду замість rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "використовувати вказану команду замість rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "визначає пристрой та густину"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
-msgstr "створити, виводити зміст або витягувати файли з багатотомного архіву"
+msgstr "створити, виводити зміст або видобувати файли з багатотомного архіву"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "змінити стрічку після запису ЧИСЛА x 1024 байтів"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "запускати сценарій наприкінці кожної стрічки (вмикає -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
-msgstr "викоÑ\80иÑ\81Ñ\82овÑ\83ваÑ\82и/обновлÑ\8fти номер тому у ФАЙЛІ"
+msgstr "викоÑ\80иÑ\81Ñ\82овÑ\83ваÑ\82и/оновлÑ\8eвати номер тому у ФАЙЛІ"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Блокування пристрою:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "ЧИСЛО-БЛОКІВ"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "розмір запису ЧИСЛО-БЛОКІВ x 512 байтів"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "встановити розмір запису у блоках по 512 байтів"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr "ігнорувати нульові блоки в архіві (звичайно вказують кінець файлу)"
+msgstr "ігнорувати нульові блоки в архіві (звичайно вказують кінець файла)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "розбивати на блоки під час читання (для каналів 4.2BSD)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Вибір формату архіву:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "створити архів у вказаному форматі"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "ФОРМАТ будь-який з наступних:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "старий формат V7"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "формат GNU, сумісний з версією tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "формат GNU, сумісний з версією tar 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "формат POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "формат POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "те ж, що і pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "те ж, що і --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "те ж, що і --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ключове_слово[[:]=значення][,ключове_слово[[:]=значення], ...]\""
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "керування ключовими словами pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 "створити архів з назвою тому \"ТЕКСТ\". Під час виводу змісту або "
-"витягування, використовувати ТЕКСТ як шаблон пошуку тому"
+"видобування, використовувати ТЕКСТ як шаблон пошуку тому"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
-msgstr "Ð\9eпÑ\86Ñ\96Ñ\97 стиснення:"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80и стиснення:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "вибирати програму стиснення за суфіксом архіву"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "не використовувати суфікс для вибору програми стиснення"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "ПРОГРАМА"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "використовувати ПРОГРАМУ для стиснення/розтискання архіву"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Вибір файлів:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr "долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "перейти до вказаного каталогу"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "читати назви файлів для додання/витягування з вказаного файла"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr ""
-"файл, вказаний з опцією -T, містить назви, відокремлені нульовими символами. "
-"Ця опція вимикає -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "відмінити дію попередньої опції --null"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "усувати цитування з назв файлів прочитаних за допомогою -T (типово)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "не усувати цитування з назв файлів прочитаних за допомогою -T"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "ШАБЛОН"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "не обробляти файли, назви яких відповідають вказаному шаблону"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "виключити назви що відповідають шаблонам, вказаним у файлі"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr ""
-"не архівувати файли в каталогах, що містять CACHEDIR.TAG, з винятком самого "
-"файлу"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "не архівувати каталоги, що містять CACHEDIR.TAG"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
-"не архівувати файли в каталогах, що містять ФАЙЛ, з винятком самого файлу"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "не архівувати жодні файли в каталогах, що містять ФАЙЛ"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "не архівувати каталоги, що містять ФАЙЛ"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "не архівувати каталоги систем керування версіями"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "не архівувати резерві файли та файли блокування"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "не заходити автоматично у каталоги"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "залишатися у локальної файлової системі під час створення архіву"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "рекурсивно проходити каталоги (типово)"
-
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
-msgstr "не Ð²Ð¸Ð´Ð°Ð»Ñ\8fÑ\82и Ð¿Ð¾Ñ\87аÑ\82ковÑ\83 ÐºÐ¾Ñ\81Ñ\83 Ñ\80иÑ\81кÑ\83 `/' з назв файлів"
+msgstr "не Ð²Ð¸Ð»Ñ\83Ñ\87аÑ\82и Ð¿Ð¾Ñ\87аÑ\82ковÑ\83 Ð¿Ð¾Ñ\85илÑ\83 Ñ\80иÑ\81кÑ\83, '/', з назв файлів"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "Йти за символьними посиланнями: долучати файли, на яки вони вказують"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "Йти за жорсткими посиланнями: долучати файли, на яки вони вказують"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "НАЗВА-ФАЙЛУ"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "починати обслуговування архіву з вказаного файлу"
+msgstr "починати читання архіву з вказаного файла"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "долучати тільки такі файли, що є новіші за вказану дату або файл"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "порівнювати тільки дату і час зміни даних"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "РЕЖИМ"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
-msgstr "пеÑ\80ед Ð²Ð¸Ð´Ð°Ð»енням створювати резервні файли у вказаному режимі"
+msgstr "пеÑ\80ед Ð²Ð¸Ð»Ñ\83Ñ\87енням створювати резервні файли у вказаному режимі"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "РЯДОК"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
-"пеÑ\80ед Ð²Ð¸Ð´Ð°Ð»енням створювати резервні файли з указаним суфіксом (типово '~', "
+"пеÑ\80ед Ð²Ð¸Ð»Ñ\83Ñ\87енням створювати резервні файли з указаним суфіксом (типово '~', "
 "якщо не перевизначено змінною середовища SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Перетворювання назв файлів:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
-msgstr "видаляти вказане ЧИСЛО компонентів з початку назв файлів"
+msgstr "вилÑ\83Ñ\87яти вказане ЧИСЛО компонентів з початку назв файлів"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "ВИРАЗ"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "перетворювати назви файлів за допомогою вказаного виразу заміни"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
-"Керування порівнюванням назв (впливає на взірці як вилучення, так і "
-"долучення):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "шаблони ігнорують відмінності у регістрі символів"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "порівнювати шаблони з назвами файлів починаючи від початку назви"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
-"порівнювати шаблони з назвами файлів починаючи від будь-якого / (типово)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "шаблони враховують регістр (типово)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "користатися шаблонами (типово для вилучення)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "порівнювати назви буквально"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "шаблони не стосуються до '/'"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "шаблони стосуються до '/' (типово)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Інформативний вивід:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "виводити докладну інформацію про оброблені файли"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "КЛ.-СЛОВО"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "керування попередженнями"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "виводити контрольне повідомлення кожне ЧИСЛО записів (типово 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ДІЯ"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "виконати вказану дію у контрольному пункті"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "виводити повідомлення якщо до архіву було додано не всі посилання"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2232,124 +2265,131 @@ msgstr ""
 "- друкувати статистику по отриманню цього сигналу; дозволеними сигналами є "
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 і SIGUSR2, а також ці назви без префікса SIG"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "друкувати час модифікації файлів у UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "друкувати час модифікації файлів у повній вирізняльної здатності"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "виводити детальну інформацію у ФАЙЛ"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "попереджувати кожне повідомлення номером блоку в архіві"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "Запитувати підтвердження кожної дії"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "вивести типові налаштування"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "вивести коректні діапазони для полів файлів-знімків"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
-"під час виведення змісту або витягування файлів друкувати назви каталогів що "
+"під час виведення змісту або видобування файлів друкувати назви каталогів що "
 "не відповідають критеріям пошуку"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "показувати перетворені назви файлів"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "встановити стиль цитування; дозволені стилі див. нижче"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "цитувати також вказані символи"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "вимкнути цитування вказаних символів"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
-msgstr "Ð\9eпÑ\86Ñ\96Ñ\97 сумісності:"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80и сумісності:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 "під час створення архіву, те ж саме, що і --old-archive. Під час "
-"витягування, те ж саме, що --no-same-owner"
+"видобування, те ж саме, що --no-same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
-msgstr "Ð\86нÑ\88Ñ\96 Ð¾Ð¿Ñ\86Ñ\96Ñ\97:"
+msgstr "Ð\86нÑ\88Ñ\96 Ð¿Ð°Ñ\80амеÑ\82Ñ\80и:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
-msgstr "забоÑ\80ониÑ\82и ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваннÑ\8f Ð´ÐµÑ\8fкими Ð¿Ð¾Ñ\82енÑ\86Ñ\96йно Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ\87ними Ð¾Ð¿Ñ\86Ñ\96Ñ\8fми"
+msgstr "забоÑ\80ониÑ\82и ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваннÑ\8f Ð´ÐµÑ\8fкими Ð¿Ð¾Ñ\82енÑ\86Ñ\96йно Ð½ÐµÐ±ÐµÐ·Ð¿ÐµÑ\87ними Ð¿Ð°Ñ\80амеÑ\82Ñ\80ами"
 
-#: src/tar.c:1010
-#, fuzzy
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "'%s' не можна використовувати разом з '%s'"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
-"Не можна вказувати більш ніж одну з опцій `-Acdtrux' або `--test-label'"
+"Не можна вказувати більш одного параметра з набору '-Acdtrux', '--delete' "
+"та  '--test-label'"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
-msgstr "Ð\9eпÑ\86Ñ\96Ñ\97 Ñ\81Ñ\82иÑ\81неннÑ\8f ÐºÐ¾Ð½Ñ\84лÑ\96кÑ\82Ñ\83Ñ\8eÑ\82Ñ\8c Ð¾Ð´Ð½Ð° Ð· Ð´Ñ\80Ñ\83гоÑ\8e"
+msgstr "Ð\9aонÑ\84лÑ\96кÑ\82 Ð¿Ð°Ñ\80амеÑ\82Ñ\80Ñ\96в Ñ\81Ñ\82иÑ\81каннÑ\8f"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Невідомий тип файла %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "Не знайдено файл-зразок дати"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Використовується %s замість невідомого формату дати %s"
 
-#: src/tar.c:1140
-#, fuzzy, c-format
+#: src/tar.c:1066
+#, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr "Ð\9eпÑ\86Ñ\96Ñ\8f %s: Ð\94ату `%s' сприйнято як %s"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80 %s: Ð´ату `%s' сприйнято як %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "фільтрувати архів через %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
-msgstr "Ð\94опÑ\83Ñ\81Ñ\82имими Ð°Ñ\80гÑ\83менÑ\82ами Ð¾Ð¿Ñ\86Ñ\96Ñ\97 --quoting-style є:"
+msgstr "Ð\94опÑ\83Ñ\81Ñ\82имими Ð°Ñ\80гÑ\83менÑ\82ами Ð¿Ð°Ñ\80амеÑ\82Ñ\80а --quoting-style є:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2357,117 +2397,120 @@ msgstr ""
 "\n"
 "Типові налаштування *цієї* копії програми:\n"
 
-#: src/tar.c:1330
-#, fuzzy
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
-msgstr "Ð\9dевÑ\96Ñ\80ний Ð²Ð»Ð°Ñ\81ник"
+msgstr "Ð\9dекоÑ\80екÑ\82ний Ñ\96денÑ\82иÑ\84Ñ\96каÑ\82оÑ\80 Ð²Ð»Ð°Ñ\81ника Ð°Ð±Ð¾ Ð³Ñ\80Ñ\83пи"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Неправильний фактор блокування"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Неправильна довжина стрічки"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Недійсне значення для рівня архівації"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Більш ніж одна гранична дата"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Недійсна версія формату розсіяних файлів"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr "опÑ\86Ñ\96Ñ\8f --atime-preserve='system' не підтримується на цій платформі"
+msgstr "паÑ\80амеÑ\82Ñ\80 --atime-preserve='system' не підтримується на цій платформі"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "аргумент --checkpoint мусить бути цілим числом"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
-msgstr "Ð\9dевÑ\96Ñ\80ний формат прав доступу"
+msgstr "Ð\9dекоÑ\80екÑ\82ний формат прав доступу"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Невірне число"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Опція --preserve є застарілою, замість неї використовуйте --preserve-"
-"permissions --preserve-order"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
-msgstr "Ð\9dевÑ\96Ñ\80ний розмір запису"
+msgstr "Ð\9dекоÑ\80екÑ\82ний розмір запису"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Розмір запису має ділитися на %d."
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
-msgstr "Ð\9dевÑ\96Ñ\80на кількість елементів"
+msgstr "Ð\9dекоÑ\80екÑ\82на кількість елементів"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
-msgstr "Ð\94озволÑ\8fÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð»Ð¸Ñ\88е Ð¾Ð´Ð½Ð° Ð¾Ð¿Ñ\86Ñ\96Ñ\8f --to-command"
+msgstr "Ð\94озволÑ\8fÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð»Ð¸Ñ\88е Ð¾Ð´Ð½Ð° Ð¿Ð°Ñ\80амеÑ\82Ñ\80 --to-command"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
-msgstr "Ð\9dевÑ\96Ñ\80ний аргумент вказання густини: `%s'"
+msgstr "Ð\9dекоÑ\80екÑ\82ний аргумент вказання густини: `%s'"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
-msgstr "Невідома густина: `%c'"
+msgstr "Невідома густина: '%c'"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "Опції `-[0-7][lmh]' не підтримуються *цією* версією tar"
+msgstr "Підтримки параметрів '-[0-7][lmh]' у *цій* версії tar не передбачено"
+
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: місце помилки"
+
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "помилка розбору %s"
 
-#: src/tar.c:2235
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "Шаблон %s забороняється уживати"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "неопціональний аргумент для %s"
+
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "не вдалося розділити значення TAR_OPTIONS: %s"
 
-#: src/tar.c:2389
-#, fuzzy, c-format
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
-msgstr "СÑ\82аÑ\80а Ð¾Ð¿Ñ\86Ñ\96Ñ\8f `%c' Ð¿Ð¾Ñ\82Ñ\80ебÑ\83Ñ\94 Ð°Ñ\80гÑ\83менÑ\82Ñ\83"
+msgstr "Ð\97аÑ\81Ñ\82аÑ\80Ñ\96лий Ð¿Ð°Ñ\80амеÑ\82Ñ\80 `%c' Ð¿Ð¾Ñ\82Ñ\80ебÑ\83Ñ\94 Ð°Ñ\80гÑ\83менÑ\82Ñ\83."
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "вказання --occurrence не має сенсу без вказання переліку файлів"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
-msgstr "Ð\92казаннÑ\8f Ð´ÐµÐºÑ\96лÑ\8cкоÑ\85 Ñ\84айлÑ\96в Ð¿Ð¾Ñ\82Ñ\80ебÑ\83Ñ\94 Ð²ÐºÐ°Ð·Ð°Ð½Ð½Ñ\8f Ð¾Ð¿Ñ\86Ñ\96Ñ\97 `-M'"
+msgstr "Ð\94лÑ\8f Ð²Ð¸Ð·Ð½Ð°Ñ\87еннÑ\8f Ð´ÐµÐºÑ\96лÑ\8cкоÑ\85 Ñ\84айлÑ\96в Ð°Ñ\80Ñ\85Ñ\96вÑ\96в Ñ\81лÑ\96д Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аÑ\82и Ð¿Ð°Ñ\80амеÑ\82Ñ\80 '-M'"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Використання --level разом з --listed-incremental не має сенсу"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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)"
@@ -2475,74 +2518,81 @@ msgstr[0] "%s: Мітка тому є надто довга (обмеження
 msgstr[1] "%s: Мітка тому є надто довга (обмеження в %lu байти)"
 msgstr[2] "%s: Мітка тому є надто довга (обмеження в %lu байтів)"
 
-#: src/tar.c:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Не можна перевіряти багатотомні архіви"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Не можна перевіряти стиснені архіви"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Не можна використовувати стиснення багатотомних архівів"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Не можна з'єднувати стиснені архіви"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr "--clamp-mtime вимагає опції --mtime для встановлення часу"
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
-msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX"
+msgstr ""
+"Параметр --pax-option використовується тільки з архівами у форматі POSIX"
 
-#: src/tar.c:2560
-#, fuzzy
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr "Ð\9eпÑ\86Ñ\96Ñ\8f --pax-option Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ñ\82Ñ\96лÑ\8cки Ð· Ð°Ñ\80Ñ\85Ñ\96вами у форматі POSIX"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80 --acls Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ð»Ð¸Ñ\88е Ð´Ð»Ñ\8f Ð°Ñ\80Ñ\85Ñ\96вÑ\96в у форматі POSIX"
 
-#: src/tar.c:2565
-#, fuzzy
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX"
+msgstr ""
+"Параметр --selinux можна використовувати лише для архівів у форматі POSIX"
 
-#: src/tar.c:2570
-#, fuzzy
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX"
+msgstr ""
+"Параметр --xattr можна використовувати лише для архівів у форматі POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Не вдалося визначити назву каталогу верхнього рівня. Будь ласка, вкажіть її "
+"явним чином за допомогою параметра --one-top-level=КАТАЛОГ"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "Розмір тому не може бути більшим від розміру запису"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Полохливо відмовляюся створювати пустий архів"
 
-#: src/tar.c:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
-msgstr "Ð\9eпÑ\86Ñ\96Ñ\97 `-Aru' Ð½ÐµÑ\81Ñ\83мÑ\96Ñ\81нÑ\96 Ð· `-f -'"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80и '-Aru' Ð½ÐµÑ\81Ñ\83мÑ\96Ñ\81нÑ\96 Ð· '-f -'"
 
-#: src/tar.c:2766
-#, fuzzy
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Необхідно вказати одну з опцій `-Acdtrux' або `--test-label'"
+msgstr ""
+"Слід вказати один з параметрів, '-Acdtrux', '--delete' або '--test-label'"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Невдачне завершення внаслідок попередніх помилок"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
+"спосіб упорядковування каталогів: none (немає, типовий), name (за назвою) "
+"або inode (за номером вузла)"
 
 #: src/update.c:87
 #, c-format
@@ -2578,7 +2628,7 @@ msgstr "Невірно сформований розширений заголо
 #: src/xheader.c:677
 #, c-format
 msgid "Extended header length %*s is out of range"
-msgstr "Довжина розширеного заголовку %*s є за межами діапазону"
+msgstr "Довжина розширеного заголовку %*s перебуває за межами діапазону"
 
 #: src/xheader.c:689
 msgid "Malformed extended header: missing blank after length"
@@ -2587,49 +2637,49 @@ msgstr ""
 
 #: src/xheader.c:697
 msgid "Malformed extended header: missing equal sign"
-msgstr "Невірно сформований розширений заголовок: відсутній знак рівняння"
+msgstr "Невірно сформований розширений заголовок: відсутній знак рівності"
 
 #: src/xheader.c:703
 msgid "Malformed extended header: missing newline"
 msgstr "Невірно сформований розширений заголовок: відсутній знак нового рядка"
 
 #: src/xheader.c:741
-#, fuzzy, c-format
+#, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr "Ð\9dевÑ\96доме ÐºÐ»Ñ\8eÑ\87ове Ñ\81лово `%s' Ñ\96Ò\91ноÑ\80Ñ\83Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f"
+msgstr "Ð\86гноÑ\80Ñ\83Ñ\94мо Ð½ÐµÐ²Ñ\96доме ÐºÐ»Ñ\8eÑ\87ове Ñ\81лово Ñ\80озÑ\88иÑ\80еного Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°, Â«%s»"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
-msgstr "Створена пара ключове слово/значення є за довга (ключ=%s, довжина=%s)"
+msgstr "Створена пара ключове слово/значення є задовгою (ключ=%s, довжина=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 "Значення розширеного заголовку %s=%s лежить поза допустимими межами типу %s.."
 "%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr "Ð\9dевÑ\96Ñ\80но Ñ\81Ñ\84оÑ\80мований Ñ\80озÑ\88иÑ\80ений Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº: Ð½ÐµÐ´Ñ\96йÑ\81на змінна %s=%s"
+msgstr "Ð\9dевÑ\96Ñ\80но Ñ\81Ñ\84оÑ\80мований Ñ\80озÑ\88иÑ\80ений Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº: Ð½ÐµÐºÐ¾Ñ\80екÑ\82на змінна %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Невірно сформований розширений заголовок: зайвий %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Невірно сформований розширений заголовок: змінна %s: неочікуваний розділювач "
 "%c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Невірно сформований розширений заголовок %s: непарна кількість значень"
@@ -2637,7 +2687,7 @@ msgstr "Невірно сформований розширений заголо
 #: src/checkpoint.c:114
 #, c-format
 msgid "%s: not a valid timeout"
-msgstr "%s: Ð½ÐµÐ´Ñ\96йÑ\81ний Ð»Ñ\96мÑ\96Ñ\82 Ñ\87аÑ\81Ñ\83"
+msgstr "%s: Ð½ÐµÐºÐ¾Ñ\80екÑ\82не Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ\8f Ñ\87аÑ\81Ñ\83 Ð¾Ñ\87Ñ\96кÑ\83ваннÑ\8f"
 
 #: src/checkpoint.c:121
 #, c-format
@@ -2670,291 +2720,263 @@ msgstr "Контрольна відмітка запису %u"
 msgid "Read checkpoint %u"
 msgstr "Контрольна відмітка читання %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
-"genfile - програма обробки файлів з набору перевірок пакету GNU paxutils\n"
-"Перелік опцій:\n"
+"genfile - програма обробки файлів з набору перевірок комплекту програм GNU "
+"paxutils\n"
+"Перелік параметрів:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
-msgstr "Ð\9eпÑ\86Ñ\96Ñ\97 створювання файлів:"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80и створювання файлів:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "РОЗМІР"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Створити файл заданого розміру"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Писати у вказаний файл, замість стандартного виводу"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
-msgstr "Читати назви файлів з вказаного файлу"
+msgstr "Читати назви файлів з вказаного файла"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr ""
-"файл, вказаний з опцією -T, містить назви, відокремлені нульовими символами"
+"файл, вказаний з параметром -T, містить назви, відокремлені нульовими "
+"символами"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Взірець заповнення файла: 'default' (типовий) або 'zeros' (заповнення нулями)"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Розмір блока розсіяного файла"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Створити розсіяний файл. Решта аргументів дає мапу файла."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "ЗСУВ"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Перед записом даних перейти до вказаного зсуву в файлі"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr "Не виводити повідомлення про не фатальні помилки"
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Статистика файлів:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "Виводити вміст структури stat для кожного файла. Типовий формат: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Синхронне виконання:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
-msgstr "Ð\9eÐ\9fЦÐ\86Я"
+msgstr "Ð\9fÐ\90РÐ\90Ð\9cÐ\95ТР"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
-"Ð\92иконаÑ\82и Ð²ÐºÐ°Ð·Ð°Ð½Ñ\83 ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ\83. Ð\94лÑ\8f Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\8f Ð· Ð¾Ð¿Ñ\86Ñ\96Ñ\8fми --cut, --append, --"
+"Ð\92иконаÑ\82и Ð²ÐºÐ°Ð·Ð°Ð½Ñ\83 ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ\83. Ð\94лÑ\8f Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\8f Ð· Ð¿Ð°Ñ\80амеÑ\82Ñ\80ами --cut, --append, --"
 "touch або --unlink"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Виконати вказану операцію (див. нижче) по досягненню контрольної відмітки"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
-msgstr "Ð\92Ñ\81Ñ\82ановлÑ\8eÑ\94 Ð´Ð°Ñ\82и Ð´Ð»Ñ\8f Ð½Ð°Ñ\81Ñ\82Ñ\83пноÑ\97 Ð¾Ð¿Ñ\86Ñ\96Ñ\97 --touch"
+msgstr "Ð\92Ñ\81Ñ\82ановлÑ\8eÑ\94 Ð´Ð°Ñ\82и Ð´Ð»Ñ\8f Ð½Ð°Ñ\81Ñ\82Ñ\83пноÑ\97 Ð¿Ð°Ñ\80амеÑ\82Ñ\80а --touch"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Друкувати виконані операції і код завершення команди"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 "Операції синхронного виконання. Виконуються по досягненню контрольної "
-"вÑ\96дмÑ\96Ñ\82ки, Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ñ\97 Ð¾Ð¿Ñ\86Ñ\96Ñ\94Ñ\8e --checkpoint. "
+"вÑ\96дмÑ\96Ñ\82ки, Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ñ\97 Ð¿Ð°Ñ\80амеÑ\82Ñ\80ом --checkpoint. "
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
-"Ð\9eбÑ\80Ñ\96заÑ\82и Ñ\84айл Ð´Ð¾ Ñ\80озмÑ\96Ñ\80Ñ\83, Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð¿ÐµÑ\80еднÑ\8cоÑ\8e Ð¾Ð¿Ñ\86Ñ\96Ñ\94Ñ\8e --length (до 0, Ñ\8fкÑ\89о "
-"її не було вказано)"
+"Ð\9eбÑ\80Ñ\96заÑ\82и Ñ\84айл Ð´Ð¾ Ñ\80озмÑ\96Ñ\80Ñ\83, Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð¿ÐµÑ\80еднÑ\8cоÑ\8e Ð¿Ð°Ñ\80амеÑ\82Ñ\80ом --length (до 0, "
+"Ñ\8fкÑ\89о Ñ\97Ñ\97 Ð½Ðµ Ð±Ñ\83ло Ð²ÐºÐ°Ð·Ð°Ð½Ð¾)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
-msgstr "Додати до файла кількість байтів, вказану попередньою опцією --length."
+msgstr ""
+"Додати до файла кількість байтів, вказану попередньою параметром --length."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Поновити час доступу та модифікації файла"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Виконати КОМАНДУ"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
-msgstr "Видалити файл"
+msgstr "Від’єднати файл"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
-msgstr "Ð\9dевÑ\96Ñ\80ний розмір: %s"
+msgstr "Ð\9dекоÑ\80екÑ\82ний розмір: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Число поза допустимими межами: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Від'ємний розмір: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "збій виконання stat(%s)"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
-msgstr "замовлений розмір файлу %lu, справжній -- %lu"
+msgstr "замовлений розмір файла %lu, справжній -- %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "створений файл не є розсіяним"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Помилка розбору числа біля `%s'"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Невідомий формат дати"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТИ...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
-msgstr "не вдається відкрити `%s'"
+msgstr "не вдалося відкрити `%s'"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
-msgstr "не вдається виконати lseek"
+msgstr "не вдалося виконати lseek"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "назва файла містить нульовий символ"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "неможливо створювати розсіяні файли на стандартному виводі; користайтеся "
-"опÑ\86Ñ\96Ñ\94Ñ\8e --file"
+"паÑ\80амеÑ\82Ñ\80ом --file"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr "недÑ\96йÑ\81на маска (біля `%s')"
+msgstr "некоÑ\80екÑ\82на маска (біля `%s')"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Невідоме поле `%s'"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "не вдається встановити час файла `%s'"
+msgstr "не вдалося встановити часову позначку файла `%s'"
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "не вдається видалити `%s'"
+msgstr "не вдалося обрізати «%s»"
 
-#: tests/genfile.c:701
-#, fuzzy, c-format
+#: tests/genfile.c:769
+#, c-format
 msgid "command failed: %s"
-msgstr "збÑ\96й Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ\8f `%s'"
+msgstr "помилка ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
-msgstr "не вдається видалити `%s'"
+msgstr "не вдалося вилучити `%s'"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
-msgstr "Ð\9aоманда Ð·Ð°Ð²ÐµÑ\80Ñ\88илаÑ\81Ñ\8f Ñ\83Ñ\81пÑ\96Ñ\88но\n"
+msgstr "Ð\92иконаннÑ\8f ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ñ\83Ñ\81пÑ\96Ñ\88но Ð·Ð°Ð²ÐµÑ\80Ñ\88ено\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
-msgstr "Ð\9aоманда Ð·Ð°Ð²ÐµÑ\80Ñ\88илаÑ\81Ñ\8f Ð· ÐºÐ¾Ð´Ð¾Ð¼ %d\n"
+msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ\82и ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ\83. Ð¡Ñ\82ан %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
-msgstr "Ð\9aоманда Ð·Ð°Ð²ÐµÑ\80Ñ\88илаÑ\81Ñ\8f Ð¿Ð¾ Ñ\81игналÑ\83 %d\n"
+msgstr "Ð\9aоманда Ð·Ð°Ð²ÐµÑ\80Ñ\88илаÑ\81Ñ\8f Ð·Ð° Ñ\81игналом %d\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
-msgstr "Ð\9aоманда Ð·Ñ\83пинилаÑ\81Ñ\8f Ð¿Ð¾ Ñ\81игналÑ\83 %d\n"
+msgstr "Ð\9aоманда Ð·Ñ\83пинилаÑ\81Ñ\8f Ð·Ð° Ñ\81игналом %d\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Команда скинула відбиток пам'яті\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Команда завершилася\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
-msgstr "опція --stat вимагає назв файлів"
-
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "витягувати файли у порядку їх з'явлення в архіві"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr ""
-#~ "опцію --occurrence не можна використовувати у зазначеному режимі роботи"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Не можна використовувати --listed-incremental разом з --newer"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "Опція --preserve-order несумісна з --listed-incremental"
-
-#~ 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 "Cannot get working directory"
-#~ msgstr "Не вдається отримати поточний каталог"
-
-#~ msgid "%s: Directory removed before we read it"
-#~ msgstr "%s: Каталог було видалено перед тим як tar встиг його прочитати"
-
-#~ msgid "Invalid group"
-#~ msgstr "Недійсна група"
-
-#~ msgid "Extended header length is out of allowed range"
-#~ msgstr "Довжина розширеного заголовку є за межами діапазону"
+msgstr "параметр --stat вимагає назв файлів"
index f1ed4bb2fc02067022c6277813e17bf13676aff7..58dcde7ad47db856f11de77d9c84505629e9cc98 100644 (file)
Binary files a/po/vi.gmo and b/po/vi.gmo differ
index 1bd4ee32c7bfc5614ce8f89a1f2726c0effe4d43..d2ddce3d000d87dbfba9b75f445b780c1e30fe8e 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,17 +1,18 @@
 # Vietnamese translation for Tar.
-# Copyright © 2013 Free Software Foundation, Inc.
+# Bản dịch tiếng Việt dành cho tar.
+# Copyright © 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Phan Vinh Thinh <teppi82@gmail.com>, 2005.
 # Clytie Siddall <clytie@riverland.net.au>, 2007-2010.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2013.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.27\n"
+"Project-Id-Version: tar-1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2013-10-07 14:21+0700\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2014-07-29 07:49+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -24,46 +25,46 @@ msgstr ""
 "X-Poedit-Country: VIET NAM\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "tham số không thích hợp %s cho %s"
+msgstr "tham số %s không hợp lệ với %s"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "tham số không rõ ràng %s cho %s"
+msgstr "tham số %s không rõ ràng với %s"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "Các tham số đúng là:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, 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:229
+#: gnu/argp-help.c:227
 #, 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:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: Tham số không rõ ARGP_HELP_FMT"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "Có rác trong ARGP_HELP_FMT: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -71,146 +72,150 @@ msgstr ""
 "Các tham số là bắt buộc hay không bắt buộc cho các tùy chọn dài thì cũng yêu "
 "cầu như thế khi dùng tùy chọn ngắn tương ứng."
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "Cách dùng:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "     hoặc: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [TÙY CHỌN...]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "Hãy chạy “%s --help” hoặc “%s --usage” để biết thêm thông tin.\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 "Thông báo lỗi cho %s.\n"
-"Báo cáo lỗi dịch cho nhóm dịch tiếng Việt: <translation-team-vi@lists."
-"sourceforge.net>\n"
+"Báo cáo lỗi dịch cho: <translation-team-vi@lists.sourceforge.net>.\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "Lỗi hệ thống không rõ"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "hiển thị trợ giúp này"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "hiển thị cách sử dụng dạng ngắn gọn"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "TÊN"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "đặt tên chương trình"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "GIÂY"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "treo trong vòng GIÂY giây (mặc định 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "In ra phiên bản chương trình"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(LỖI CHƯƠNG TRÌNH) Không rõ phiên bản!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s: Quá nhiều đối số\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 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!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "lỗi ghi"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s: tùy chọn “%s” chưa rõ ràng; khả năng là:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: tùy chọn “-W %s” vẫn chưa rõ ràng\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, 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:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, 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:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, 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:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: không nhận ra tuỳ chọn “--%s”\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, 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:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: tùy chọn sai -- “%c”\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, 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:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: tùy chọn “-W %s” vẫn chưa rõ ràng\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, 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:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, 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:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
-msgstr "cạn bộ nhớ"
+msgstr "hết bộ nhớ"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
-msgstr "Không thể thu thư mục làm việc hiện thời"
+msgstr "Không thể ghi lại thư mục làm việc hiện thời"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "không trở được về thư mục làm việc đầu tiên"
@@ -236,11 +241,11 @@ msgstr "không trở được về thư mục làm việc đầu tiên"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "“"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "”"
 
@@ -250,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 '^yesexpr='
-#: gnu/rpmatch.c:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[cCyY]"
 
@@ -260,16 +265,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[kKnN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Đóng gói bởi %s (%s)\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Đóng gói bởi %s\n"
@@ -277,11 +282,11 @@ msgstr "Đóng gói bởi %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -298,19 +303,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Viết bởi %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "Viết bởi %s và %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "Viết bởi %s, %s và %s.\n"
@@ -318,7 +323,7 @@ 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
 #. ca. 16 screen columns and that a screen line has ca. 80 columns.
-#: gnu/version-etc.c:119
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -330,43 +335,43 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
-"Tác giả: %s, %s, %s,\n"
+"Viết bởi: %s, %s, %s,\n"
 "%s và %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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
-"Tác giả: %s, %s, %s,\n"
+"Viết bởi: %s, %s, %s,\n"
 "%s, %s và %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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
-"Tác giả: %s, %s, %s,\n"
+"Viết bởi: %s, %s, %s,\n"
 "%s, %s, %s và %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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -380,7 +385,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -394,7 +399,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -409,7 +414,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -417,28 +422,26 @@ msgid ""
 msgstr ""
 "\n"
 "Báo cáo lỗi cho: %s\n"
-"Báo cáo lỗi dịch cho nhóm dịch tiếng Việt: <translation-team-vi@lists."
-"sourceforge.net>\n"
+"Báo cáo lỗi dịch cho: <translation-team-vi@lists.sourceforge.net>\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr ""
 "Báo cáo lỗi liên quan đến %s cho: %s\n"
-"Báo cáo lỗi dịch cho nhóm dịch tiếng Việt: <translation-team-vi@lists."
-"sourceforge.net>\n"
+"Báo cáo lỗi dịch cho: <translation-team-vi@lists.sourceforge.net>\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Trang chủ %s: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "Trang chủ %s: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Trợ giúp chung về cách sử dụng phần mềm GNU: <http://www.gnu.org/gethelp/>\n"
@@ -555,7 +558,7 @@ msgstr "Không thể chuyển hướng kết xuất các tập tin cho hệ vỏ
 #: lib/rtapelib.c:516
 #, c-format
 msgid "Cannot execute remote shell"
-msgstr "Không thể chạy shell ở xa"
+msgstr "Không thể chạy hệ vỏ ở xa"
 
 #: rmt/rmt.c:432
 msgid "Seek direction out of range"
@@ -601,8 +604,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:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "SỐ"
 
@@ -610,10 +613,11 @@ msgstr "SỐ"
 msgid "set debug level"
 msgstr "đặt cấp gỡ rối"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "TẬP-TIN"
 
@@ -626,7 +630,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:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "quá nhiều đối số"
@@ -635,111 +639,110 @@ msgstr "quá nhiều đối số"
 msgid "Garbage command"
 msgstr "Câu lệnh rác"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 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"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "Tổng số byte đã đọc"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "Tổng số byte đã ghi"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "Tổng số byte đã xoá: %s\n"
+msgstr "Tổng số byte đã xoá"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(đường ống)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "Từ chối đọc nội dung kho lưu từ thiết bị cuối (thiếu tùy chọn -f ?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "Từ chối ghi nội dung kho lưu vào thiết bị cuối (thiếu tùy chọn -f ?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
-msgstr "Giá trị cho `record_size' không đúng"
+msgstr "Giá trị cho “record_size” không đúng"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "Không đưa ra tên kho lưu"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Không kiểm tra được kho lưu stdin/stdout"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 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:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "Không cập nhật được kho lưu đã nén"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "Tại đầu băng từ, thoát ra bây giờ"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "Quá nhiều lỗi, đang thoát"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, 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:965
+#: src/buffer.c:968
 #, 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:1042
+#: src/buffer.c:1055
 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:1074
+#: src/buffer.c:1087
 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:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: chứa số thứ tự khối không đúng"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "Số thứ tự khối thừa ra"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, 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:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "Kết thúc tập tin (EOF) bất ngờ khi cần trả lời của người dùng"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "CẢNH BÁO: Kho lưu không hoàn thành"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -751,65 +754,65 @@ msgstr ""
 " q             Dừng tar\n"
 " y hay dòng mới Tiếp tục lại chạy tiến trình\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Sản sinh một hệ vỏ con\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             In ra danh sách này\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "Không có khối mới; đang thoát.\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 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:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Gõ sai. (Gõ ? để xem trợ giúp.)\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "Câu lệnh %s không thành công"
 
-#: src/buffer.c:1491
-#, 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:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, 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:1509
+#: src/buffer.c:1523
+#, 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:1541
 #, 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:1524
+#: src/buffer.c:1556
 #, 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:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, 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:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Khối %s không tương ứng %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -817,7 +820,7 @@ 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:1917
+#: src/buffer.c:1949
 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"
 
@@ -827,20 +830,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "Diff nội dung"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "Kết thúc tập tin bất ngờ trong kho lưu"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "Diff dạng tập tin"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "Diff chế độ"
 
@@ -856,7 +859,7 @@ msgstr "Khác biệt Gid"
 msgid "Mod time differs"
 msgstr "Khác biệt thời gian sửa đổi"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "Khác biệt kích thước"
 
@@ -865,137 +868,137 @@ msgstr "Khác biệt kích thước"
 msgid "Not linked to %s"
 msgstr "Không liên kết tới %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "Khác biệt liên kết mềm"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "Diff số thứ tự của thiết bị"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "Kiểm tra "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: Không rõ kiểu tập tin “%c” nên khác biệt (diff) như tập tin thông thường"
 
-#: src/compare.c:529
+#: src/compare.c:533
 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:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "Tài liệu được nén có chứa tên tệp tin chuyển đổi."
 
-#: src/compare.c:540
+#: src/compare.c:544
 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:614
+#: src/compare.c:618
 #, 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:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Một khối không đơn lẻ tại %s"
 
-#: src/create.c:73
+#: src/create.c:74
 #, 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:262
+#: src/create.c:263
 #, 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:268
+#: src/create.c:269
 #, 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:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "Đang tạo phần đầu hệ bát phân âm"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: tên tập tin quá dài (tối đa là %d); không được dump"
 
-#: src/create.c:611
+#: src/create.c:612
 #, 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:638
+#: src/create.c:639
 #, 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:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, 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:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "chưa đổ nội dung"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Không hiểu kiểu tập tin; tập tin bị lờ đi"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "Thiếu liên kết tới %s."
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, 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:1721
+#: src/create.c:1739
 #, 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:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "chưa đổ thư mục"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, 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:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket bị lờ đi"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: cửa (door) bị lờ đi"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "Nhảy tới phần đầu tiếp theo"
 
@@ -1013,55 +1016,55 @@ msgstr "%s: tem thời gian cũ không hợp lý %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: dấu vết thời gian %s là %s giây trong tương lai"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Sự mâu thuẫn bất ngờ khi tạo thư mục"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: bỏ qua tập tin sẵn có"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, 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ể rút trích trạng thái của nó"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "Rút trích các tập tin liền nhau thành những tập tin thông thường"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Đang thử rút trích liên kết mềm thành liên kết cứng"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Không rút trích được -- tập tin tiếp tục từ khối khác"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "Gặp phần đầu tên dài bất ngờ"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr ""
 "%s: Không hiểu kiểu tập tin “%c” nên rút trích như tập tin thông thường"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "%s hiện tại là mới hơn hoặc cùng tuổi"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, 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:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Không thể đổi tên %s thành %s"
@@ -1111,16 +1114,16 @@ msgstr "Số thứ tự chỉ mục inode sai"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr "%s: byte %s: %s %.*s... quá dài"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "Kết thúc tập tin (EOF) bất ngờ trong tập tin ảnh chụp"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr "%s: byte %s: %s %s được theo sau bởi byte 0x%02x không hợp lệ"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
@@ -1129,200 +1132,201 @@ msgstr ""
 "%s: byte %s: (vùng %s..%s không hợp lệ)\n"
 "\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr "%s: byte %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr "%s: byte %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "Thiếu dấu giới hạn mục ghi"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "Định dạng tập tin dần sai"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Phiên bản định dạng dần không được hỗ trợ: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Thư mục đổ dạng sai: cần “%c” nhưng lại nhận được %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Thư mục đổ dạng sai: “X” đã nhân đôi"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Thư mục đổ dạng sai: tên rỗng trong “R”"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "Thư mục đổ dạng sai: “T” không có “R” đi trước"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Thư mục đổ dạng sai: tên rỗng trong “T”"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Thư mục đổ dạng sai: cần “%c” nhưng lại gặp kết thúc dữ liệu"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Thư mục đổ dạng sai: “X” không bao giờ dùng"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, 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:1719
+#: src/incremen.c:1723
 #, 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:1732
+#: src/incremen.c:1736
 #, 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:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Đang xóa %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Không thể xóa bỏ"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Đang bỏ đi"
 
-#: src/list.c:235
+#: src/list.c:237
 #, 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:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "khối %s: ** Kết thúc tập tin **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "khối %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Khoảng trống trong Phần đầu trong khi cần một giá trị số %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, 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:838
+#: src/list.c:839
 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:852
+#: src/list.c:853
 #, 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:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Kho lưu chứa %.*s nơi mà cần giá trị số %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, 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:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " liên kết tới %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " kiểu tập tin không rõ %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Liên kết Dài--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Tên Dài--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Phần đầu Khối--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Tiếp tục tại byte %s--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "Đang tạo thư mục:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Đang đổi tên %s thành %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Không thể đổi tên thành %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, 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:1101
+#: src/misc.c:1108
 #, 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ó"
@@ -1335,30 +1339,187 @@ msgstr "tiến trình con"
 msgid "interprocess channel"
 msgstr "kênh liên tiến trình"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "Lựa chọn tập tin nội bộ:"
+
+#: src/names.c:71
+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/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "TMỤC"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "thay đổi tới thư mục THƯ MỤC"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "lấy các tên tập tin cần rút trích hay tạo từ TẬP-TIN"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T đọc tên kết thúc bằng ký hiệu null, tắt -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "tắt hiệu ứng của tùy chọn “--null” trước đây"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "hủy trích dẫn các tên tập tin hay thành viên (mặc định)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "đừng hủy trích dẫn các tên tập tin hay thành viên"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "MẪU"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "loại trừ những tập tin tương ứng với MẪU"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "loại trừ những mẫu liệt kê trong TẬP-TIN"
+
+#: src/names.c:95
+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 "
+"thẻ chính nó"
+
+#: src/names.c:98
+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"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "loại trừ thư mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG"
+
+#: src/names.c:103
+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ó"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "đọc các mẫu loại trừ cho từng thư mục từ TẬP-TIN, nếu có"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+"đọc các mẫu loại trừ cho từng thư mục và những thư mục con của nó từ TẬP-"
+"TIN, nếu có"
+
+#: src/names.c:112
+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"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "loại trừ thư mục chứa TẬP-TIN"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "loại trừ thư mục của hệ thống điều khiển phiên bản (v.d. “.svn”)"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "đọc các mẫu loại trừ từ tập tin bỏ qua của VSC"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "loại trừ tập tin kiểu sao lưu và khoá"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "đệ quy vào các thư mục (mặc định)"
+
+#: src/names.c:124
+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/names.c:129
+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/names.c:132
+msgid "patterns match file name start"
+msgstr "mẫu tương ứng với bắt đầu tên tập tin"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "mẫu khớp sau bất kỳ “/” nào (mặc định để loại trừ)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "không phân biệt HOA/thường"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "khớp mẫu phân biệt HOA/ thường (mặc định)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "dùng ký tự đại diện (mặc định để loại trừ)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "khớp đúng nguyên văn"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "ký tự đại khớp “/” (mặc định để loại trừ)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "ký tự đại diện không khớp “/”"
+
+#: src/names.c:768
 msgid "command line"
 msgstr "dòng lệnh"
 
-#: src/names.c:378
+#: src/names.c:786
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: danh sách tập tin đã yêu cầu từ %s đã sẵn được đọc từ %s"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "không thể chia tách chuỗi “%s”: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, 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:824
+#: src/names.c:1242
 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:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1366,47 +1527,47 @@ 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:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Không tìm thấy trong kho lưu"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, 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:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Sai khớp nhãn kho lưu"
 
-#: src/names.c:1183
+#: src/names.c:1601
 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:1189
+#: src/names.c:1607
 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:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Cả hai tùy chọn “-%s” và “-%s” đều muốn đầu vào tiêu chuẩn"
+msgstr "Cả hai tùy chọn “%s” và “%s” đều muốn đầu vào tiêu chuẩn"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Định dạng kho lưu không đúng"
 
-#: src/tar.c:196
+#: src/tar.c:197
 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:264
+#: src/tar.c:265
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1414,7 +1575,7 @@ msgstr ""
 "Không rõ kiểu trích dẫn “%s”. Hãy chạy lệnh “%s --quoting-style=help” để lấy "
 "danh sách."
 
-#: src/tar.c:378
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1433,7 +1594,7 @@ msgstr ""
 "kho.tar.\n"
 "  tar -xf kho.tar          # Rút trích tất cả các tập tin từ kho.tar.\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 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 "
@@ -1455,79 +1616,87 @@ msgstr ""
 "dạng đơn giản\n"
 "  never, simple   luôn luôn tạo bản sao lưu dạng đơn giản\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "Chế độ thao tác chính:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "liệt kê nội dung của một kho lưu"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "rút trích các tập tin từ một kho lưu"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "tạo một kho lưu mới"
 
-#: src/tar.c:427
+#: src/tar.c:403
 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:430
+#: src/tar.c:406
 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:432
+#: src/tar.c:408
 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:434
+#: src/tar.c:410
 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:437
+#: src/tar.c:413
 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:439
+#: src/tar.c:415
 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:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "Từ khóa bổ nghĩa thao tác:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 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:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "CHÍNH[.PHỤ]  "
 
-#: src/tar.c:449
+#: src/tar.c:427
 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:451
+#: src/tar.c:429
 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:453
+#: src/tar.c:431
 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:455
+#: src/tar.c:433
 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:457
+#: src/tar.c:435
 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:459
+#: src/tar.c:437
 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, --"
@@ -1544,139 +1713,148 @@ msgstr ""
 "T”.\n"
 "Mặc định SỐ có giá trị bằng 1."
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "có thể tìm nơi trong kho lưu"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "không thể tìm nơi trong kho lưu"
 
-#: src/tar.c:469
+#: src/tar.c:447
 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:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "kiểm tra số thứ tự thiết bị khi tạo kho lưu tăng dần"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "Điều khiển ghi đè:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "thử kiểm tra kho lưu sau khi ghi nó"
 
-#: src/tar.c:483
+#: src/tar.c:461
 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:485
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
 "khi rút trích thì không thay thế những tập tin đã có, mà coi đó là các lỗi"
 
-#: src/tar.c:488
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
 "khi rút trích thì không thay thế những tập tin đã có, chỉ âm thầm bỏ qua "
 "chúng"
 
-#: src/tar.c:491
+#: src/tar.c:469
 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:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "ghi đè lên những tập tin đã có khi rút trích"
 
-#: src/tar.c:495
+#: src/tar.c:473
 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 để rút trích và ghi đè lên nó"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "xóa sạch quyền ưu tiên trong cây thư mục để rút trích thư mục"
 
-#: src/tar.c:499
+#: src/tar.c:477
 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:501
+#: src/tar.c:479
 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 rút trích (mặc định)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "bảo tồn liên kết mềm đến các thư mục sẵn có khi rút trích"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "TMỤC"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "tạo một thư mục để tranhs mất các tập tin đã rút trích"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "Chọn luồng dữ liệu xuất:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "rút trích tập tin ra đầu ra tiêu chuẩn"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "LỆNH"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "gửi các tập tin đã rút trích qua ống dẫn cho chương trình khác"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "bỏ qua mã thoát của tiến trình con"
 
-#: src/tar.c:522
+#: src/tar.c:500
 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:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "Điều khiển thuộc tính tập tin:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 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:532
+#: src/tar.c:510
 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:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "NGÀY-CỦA-TẬP-TIN"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "đặt từ NGÀY-CỦA-TẬP-TIN thời gian mtime cho các tập tin đã thêm"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "TH.ĐỔI"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "bắt buộc THAY_ĐỔI chế độ (ký hiệu) cho những tập tin thêm vào"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "PHƯƠNG_THỨC"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1686,11 +1864,11 @@ msgstr ""
 "thời gian sau khi đọc (PHƯƠNG_THỨC=“replace”; mặc định), hoặc bằng cách "
 "không đặt thời gian như vậy (PHƯƠNG_THỨC=“system”)"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "không rút trích thời gian sửa đổi của tập tin"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
@@ -1698,23 +1876,23 @@ msgstr ""
 "thử rút trích 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:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr ""
 "rút trích 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:549
+#: src/tar.c:533
 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:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "cũng rút trích 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:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1722,17 +1900,13 @@ msgstr ""
 "áp dụng umask của người dùng khi rút trích 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:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 "các đối số thành viên được liệt kê cùng thứ tự với các tập tin trong kho lưu"
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "giống như khi có hai tùy chọn -p và -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1740,187 +1914,187 @@ msgstr ""
 "hoãn đến kết thúc tiến trình rút trích việc đặt thời gian sửa đổi và quyền "
 "truy cập các thư mục đã rút trích"
 
-#: src/tar.c:566
+#: src/tar.c:548
 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:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "THỨ_TỰ"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "thứ tự sắp xếp thư mục: không (mặc định) hoặc tên"
 
-#: src/tar.c:578
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
 msgstr "Điều khiển thuộc tính tập tin mở rộng:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr "Bật hỗ trợ các thuộc tính mở rộng"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr "Tắt hỗ trợ các thuộc tính mở rộng"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr "MẶT_NẠ"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr "chỉ định mẫu bao gồm cho khóa “xattr”"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr "chỉ định mẫu loại trừ cho khóa “xattr”"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr "Bật hỗ trợ ngữ cảnh SELinux"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr "Tắt hỗ trợ ngữ cảnh SELinux"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr "Bật hỗ trợ “POSIX ACLs”"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr "Tắt hỗ trợ “POSIX ACLs”"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "Lựa chọn và chuyển đổi thiết bị:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "KHO-LƯU"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "sử dụng tập tin kho lưu hoặc thiết bị KHO_LƯU"
 
-#: src/tar.c:605
+#: src/tar.c:587
 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:607
+#: src/tar.c:589
 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:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "sử dụng CÂU LỆNH từ xa thay cho rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "chỉ ra ổ đĩa và mật độ ghi dữ liệu"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "tạo/liệt kê/rút trích kho lưu nhiều khối"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "thay băng từ (tape) sau khi ghi SỐ x 1024 byte"
 
-#: src/tar.c:631
+#: src/tar.c:613
 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:634
+#: src/tar.c:616
 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:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "Khối của thiết bị:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "KHỐI "
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "KHỐI x 512 byte cho mỗi bản ghi"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "SỐ byte cho mỗi bản ghi, bội số của 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 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:648
+#: src/tar.c:630
 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:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "Lựa chọn định dạng kho lưu:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "Đ.DẠNG"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
-msgstr "tạo lưư trữ với định dạng đưa ra"
+msgstr "tạo kho lưu với định dạng đưa ra"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "ĐỊNH DẠNG là một trong số sau:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "định dạng tar V7 cũ"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "định dạng GNU theo như tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "định dạng tar GNU 1.13.x"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "định dạng POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "định dạng POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "giống như pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "giống như “--format=v7”"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "giống như “--format=posix”"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "từ_khoá[[:]=giá_trị][,từ_khoá[[:]=giá_trị]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "từ khóa điều khiển pax"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "VĂN_BẢN"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1928,181 +2102,79 @@ 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ê/rút trích, sử "
 "dụng VĂN_BẢN làm mẫu glob cho tên khối tin"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "Tùy chọn nén:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 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:688
+#: src/tar.c:670
 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:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PMỀM"
 
-#: src/tar.c:691
+#: src/tar.c:673
 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:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "Lựa chọn tập tin nội bộ:"
 
-#: src/tar.c:710
-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:712
-msgid "change to directory DIR"
-msgstr "thay đổi tới thư mục THƯ MỤC"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "lấy các tên tập tin cần rút trích hay tạo từ TẬP-TIN"
-
-#: src/tar.c:716
-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:718
-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:720
-#, fuzzy
-msgid "unquote input file or member names (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:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "đừng hủy trích dẫn các tên tập tin được đọc bằng “-T”"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "MẪU"
-
-#: src/tar.c:724
-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:726
-msgid "exclude patterns listed in FILE"
-msgstr "loại trừ những mẫu liệt kê trong TẬP-TIN"
-
-#: src/tar.c:728
-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 "
-"thẻ chính nó"
-
-#: src/tar.c:731
-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"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "loại trừ thư mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG"
-
-#: src/tar.c:736
-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ó"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-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"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "loại trừ thư mục chứa TẬP-TIN"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-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:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "loại trừ tập tin kiểu sao lưu và khoá"
-
-#: src/tar.c:755
-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:757
+#: src/tar.c:691
 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:759
-msgid "recurse into directories (default)"
-msgstr "đệ quy vào các thư mục (mặc định)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "đừng bỏ “/” ở đầu tên tập tin"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "theo liên kết mềm; kho lưu và đổ tập tin tới đó nó chỉ"
 
-#: src/tar.c:765
+#: src/tar.c:697
 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:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "TÊN-TH.VIÊN"
 
-#: src/tar.c:767
+#: src/tar.c:699
 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 khi đọc kho lưu"
 
-#: src/tar.c:769
+#: src/tar.c:701
 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:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "NGÀY"
 
-#: src/tar.c:772
+#: src/tar.c:704
 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:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "Đ.KHIỂN"
 
-#: src/tar.c:774
+#: src/tar.c:706
 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:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "CHUỖI"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2110,137 +2182,98 @@ 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:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "Chuyển dạng tên tập tin:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 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 rút trích"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "BIỂU-THỨC"
 
-#: src/tar.c:786
+#: src/tar.c:718
 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:792
-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:795
-msgid "ignore case"
-msgstr "không phân biệt HOA/thường"
-
-#: src/tar.c:797
-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:799
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "mẫu khớp sau bất kỳ “/” nào (mặc định để loại trừ)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "khớp mẫu phân biệt HOA/ thường (mặc định)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "dùng ký tự đại diện (mặc định để loại trừ)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "khớp đúng nguyên văn"
-
-#: src/tar.c:807
-msgid "wildcards do not match '/'"
-msgstr "ký tự đại diện không khớp “/”"
-
-#: src/tar.c:809
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "ký tự đại khớp “/” (mặc định để loại trừ)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "Dữ liệu kết quả có tính thông tin:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "liệt kê một cách tỉ mỉ những tập tin được xử lý"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
-msgstr "T.KHOÁ"
+msgstr "TKHOÁ"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "điều khiển cảnh báo"
 
-#: src/tar.c:821
+#: src/tar.c:731
 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 bản ghi thứ SỐ (mặc định 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "H.ĐỘNG"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "thực hiện HÀNH_ĐỘNG này ở mỗi điểm kiểm tra"
 
-#: src/tar.c:827
+#: src/tar.c:737
 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:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "T.HIỆU"
 
-#: src/tar.c:829
+#: src/tar.c:739
 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 ""
-"in ra tổng số byte sau khi xử lý kho lưu ;\n"
-"có đối số thì in ra tổng số byte khi nhận được TÍN HIỆU này; tín hiệu được "
-"phép:\n"
-"SIGHUP, SIGQUIT, SIGINT, SIGUSR1, SIGUSR2;\n"
-"cũng chấp nhận tên không có tiền tố “SIG”;"
+"in ra tổng số byte sau khi xử lý kho lưu; có đối số thì in ra tổng số byte "
+"khi nhận được TÍN HIỆU này; tín hiệu được phép: SIGHUP, SIGQUIT, SIGINT, "
+"SIGUSR1, SIGUSR2; cũng chấp nhận tên không có tiền tố “SIG”;"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "in ra giờ sửa đổi tập tin theo UTC"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "in ra giờ tập tin đến độ phân giải đầy đủ"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "gửi kết quả chi tiết tới TẬP-TIN"
 
-#: src/tar.c:840
+#: src/tar.c:750
 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:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "hỏi xác nhận trước mỗi hành động"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "hiển thị các giá trị mặc định của tar"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr "hiển thị vùng hợp lệ cho trường “snapshot-file”"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2248,88 +2281,94 @@ msgstr ""
 "khi liệt kê hay rút trích, 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:851
+#: src/tar.c:761
 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:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "KDÁNG"
 
-#: src/tar.c:855
+#: src/tar.c:765
 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:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "cũng trích dẫn các ký tự của CHUỖI"
 
-#: src/tar.c:859
+#: src/tar.c:769
 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:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "Tùy chọn tương thích:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
-"khi tạo, giống như “--old-archive”\n"
-"khi rút trích, giống như “--no-same-owner”"
+"khi tạo, giống như “--old-archive” khi rút trích, giống như “--no-same-owner”"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "Những tùy chọn khác:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 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:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "“%s” không được dùng cùng với “%s”"
+
+#: src/tar.c:934
 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”, “--delete” hoặc “--test-label”"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Mâu thuẫn giữa các tùy chọn nén"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Không rõ tên tín hiệu: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 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:1111
+#: src/tar.c:1037
 #, 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:1140
+#: src/tar.c:1066
 #, 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ư là %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "lọc kho lưu qua %s"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 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”:"
+msgstr "Các đối số thích hợp với tùy chọn “--quoting-style” là:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2337,185 +2376,196 @@ msgstr ""
 "\n"
 "tar *này* mặc định dùng:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
 msgstr "ID của chủ sở hữu hay nhóm không đúng"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "Nhân tố khối không đúng"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "Chiều dài băng từ không đúng"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "Giá trị mức gia số không hợp lệ"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "Có nhiều hơn một ngưỡng ngày tháng"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "Giá trị phiên bản sparse không hợp lệ"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 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"
+msgstr "--atime-preserve=\"system\" không được hỗ trợ trên nền tảng này"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "giá trị “--checkpoint” không phải số nguyên"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "Đưa ra chế độ không đúng trên tùy chọn"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "Số không đúng"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"Tùy chọn “--preserve” đã cổ, hãy thay bằng tùy chọn “--preserve-"
-"permissions”, “--preserve-order”"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "Kích thước bản ghi không đúng"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, 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:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "Số thứ tự của nguyên tố không đúng"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "Cho phép chỉ một tùy chọn “--to-command”"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Tham số mật độ sai dạng: %s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Không hiểu mật độ: “%c”"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, 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:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "Lỗi phân tích số gần “%s”"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[TẬP-TIN]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "tùy chọn “--%s” không được dùng cùng với %s"
+msgid "non-option arguments in %s"
+msgstr "tham số %s không hợp lệ với %s"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "không thể chia tách chuỗi “%s”: %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, 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:2469
+#: src/tar.c:2369
 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:2490
+#: src/tar.c:2395
 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:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Tùy chọn “--level” vô ích nếu không có “--listed-incremental”"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "Không thể kiểm tra kho lưu nhiều khối"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "Không thể kiểm tra kho lưu đã nén"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 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:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "Không thể ghép nối các kho nén"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 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:2560
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
 msgstr "“--acls” chỉ dùng được trên kho lưu POSIX"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
 msgstr "“--selinux” chỉ dùng được trên kho lưu POSIX"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "“--xattrs” chỉ dùng được trên kho lưu POSIX"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Không thể suy diễn tên thư mục cấp cao nhất; hãy đặt nó rõ ràng bằng tùy "
+"chọn --one-top-level=THƯ-MỤC"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 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:2643
+#: src/tar.c:2602
 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:2669
+#: src/tar.c:2628
 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:2766
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Bạn phải chỉ ra một trong số các tùy chọn “-Acdtrux”, “--delete” hoặc “--"
 "test-label”"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, 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/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "thứ tự sắp xếp thư mục: không (mặc định), tên hoặc inode"
 
 #: src/update.c:87
 #, c-format
@@ -2568,34 +2618,34 @@ msgstr "Phần đầu mở rộng dạng sai: thiếu dòng mới"
 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:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Phần đầu mở rộng %s=%s nằm ngoài phạm vi (%s..%s)"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, 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:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, 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:1502
+#: src/xheader.c:1515
 #, 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ệ: không cần dấu phân cách %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, 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ẻ"
@@ -2636,103 +2686,108 @@ msgstr "Điểm kiểm tra ghi %u"
 msgid "Read checkpoint %u"
 msgstr "Điểm kiểm tra đọc %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
-"genfile thao tác các tập tin dữ liệu cho bộ tiện ích thử paxutils của GNU.\n"
+"genfile thao tác các tập tin dữ liệu cho bộ tiện ích thử “paxutils” của "
+"GNU.\n"
 "TÙY CHỌN:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "Tùy chọn tạo tập tin:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "CỠ"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "Tạo tập tin có KÍCH_CỠ đã cho"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "Ghi vào tập tin TÊN, thay cho đầu ra tiêu chuẩn"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "Đọc các tên tập tin từ TẬP-TIN"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "“-T” đọc tên kết thúc vô hiệu lực"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
-"Điền vào tập tin bằng MẪU đã cho. MẪU là:\n"
-"  default    mặc định\n"
-"  zeros      các số không"
+"Điền thêm vào tập tin bằng MẪU đã cho. MẪU là:\n"
+" * default    mặc định\n"
+" * zeros      các số không"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "Kích cỡ của khối cho tập tin spare"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Tạo ra tập tin sparse. Phần còn lại của dòng lệnh đưa ra ánh xạ tập tin."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "HIỆU_SỐ"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "Di chuyển vị trí đọc tới hiệu số đã cho trước khi ghi dữ liệu"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "Tùy chọn thống kê tập tin:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "In ra kết xuất struct stat về mỗi tập tin đã cho. ĐỊNH DẠNG mặc định: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "Tùy chọn thực hiện đồng thời:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "T.CHỌN"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 "Thực hiện các ĐỐI_SỐ đã cho. Có ích với “--checkpoint” (điểm kiểm tra) và "
 "một trong số:\n"
-"  --cut       cắt\n"
-"  --append    nối thêm\n"
-"  --touch     chạm vào\n"
-"  --unlink    bỏ liên kết"
+" * --cut       cắt\n"
+" * --append    nối thêm\n"
+" * --touch     chạm vào\n"
+" * --unlink    bỏ liên kết"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Thực hiện hành động đã cho (xem dưới) khi tới điểm kiểm tra SỐ"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "Đặt ngày tháng cho tùy chọn “-touch” kế tiếp"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Hiển thị các điểm kiểm tra đã thực hiện và trạng thái thoát của LỆNH"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2740,7 +2795,7 @@ msgstr ""
 "Các hành động thực hiện đồng thời; được thực hiện khi tới điểm kiểm tra có "
 "số được ghi rõ bằng tùy chọn “--checkpoint”."
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2748,154 +2803,164 @@ msgstr ""
 "Cắt ngắn TẬP-TIN thành kích cỡ được ghi rõ bằng tùy chọn “--length” trước "
 "(không ghi rõ thì 0)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Phụ thêm KÍCH_CỠ byte vào TẬP-TIN. KÍCH_CỠ được ghi rõ bằng tùy chọn “--"
 "length” trước."
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "Cập nhật các thời gian truy cập và sửa đổi của TẬP-TIN"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "Thực hiện LỆNH"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "Bỏ liên kết TẬP_TIN"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Kích cỡ không hợp lệ: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Số nằm ngoài phạm vi cho phép: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "Kích cỡ bị âm: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) bị lỗi"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "yêu cầu chiều dài tập tin %lu mà có %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "đã tạo tập tin không phải thưa thớt (sparse)"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Lỗi phân tích số gần “%s”"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "Không rõ định dạng ngày tháng"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[Đ.SỐ...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "không thể mở “%s”"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "không thể tìm nơi"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "tên tập tin chứa ký tự null"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, 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:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "mặt nạ không đúng (gần “%s”)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Không rõ trường “%s”"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "không thể đặt thời gian trên “%s”"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "không thể cắt ngắn “%s”"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, c-format
 msgid "command failed: %s"
 msgstr "Câu lệnh không thành công: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "không thể bỏ liên kết “%s”"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Lệnh đã thoát thành công\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Lệnh bị lỗi với trạng thái thoát %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, 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:841
+#: tests/genfile.c:909
 #, 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:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Lệnh đã đổ lõi\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "Lệnh đã chấm dứt\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
-msgstr "“--stat” yêu cầu tên tập tin"
+msgstr "“--stat” cần tên tập tin"
+
+#~ msgid "same as both -p and -s"
+#~ msgstr "giống như khi có hai tùy chọn -p và -s"
+
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "Tùy chọn “--preserve” đã cổ, hãy thay bằng tùy chọn “--preserve-"
+#~ "permissions”, “--preserve-order”"
 
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "“--occurrence” không thể dùng cùng với %s"
index 42ea31f565bc8bcbdf3fdbe0ed96039f0aec4814..fece7ab23d13a489c72cc7c3ab836bb46577b79d 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index 30fb430010562a0f2dd982182cb10484ed867cab..1432e4b8151017aab1f7f47e4a37b23155c038a6 100644 (file)
@@ -3,15 +3,15 @@
 # This file is distributed under the same license as the tar package.
 # Wang Li <charles@linux.net.cn>, 2002.
 # Rongjun Mu <rongjunmu+i18n@gmail.com>, 2004.
-# Ji ZhengYu <zhengyuji@gmail.com>, 2008, 2009, 2010, 2011.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2016.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.26\n"
+"Project-Id-Version: tar 1.28.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
-"PO-Revision-Date: 2011-04-28 20:42+0800\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
+"PO-Revision-Date: 2016-03-30 16:45China Standard Time\n"
 "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -20,188 +20,193 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "%2$s 的参数 %1$s 无效"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "%2$s 的参数 %1$s 具有歧义"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "有效的参数为:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: ARGP_HELP_FMT 参数需要一个值"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT 参数值必须为正"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: 未知的 ARGP_HELP_FMT 参数"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "ARGP_HELP_FMT 中的参数错误: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr "长选项和相应短选项具有相同的强制参数或可选参数。"
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "用法:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr " 或: "
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [选项...]"
 
-#: gnu/argp-help.c:1686
-#, fuzzy, c-format
+#: gnu/argp-help.c:1688
+#, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "请用“%s --help”或“%s --usage”获得更多信息。\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "将错误报告发送到 %s。\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "未知的系统错误"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "显示此帮助列表"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "显示简短的用法说明"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "名称"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "设置程序名"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "秒"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "挂起 SECS 秒(默认 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "打印程序版本"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(程序错误)未知版本!?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s:参数太多\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(程序错误)选项可否被识别!?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "写错误"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
-#, fuzzy, c-format
+#: gnu/getopt.c:575 gnu/getopt.c:604
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: 选项\"%s\"具有歧义\n"
+msgstr "%s: 选项“%s”具有歧义; 可能是:"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: 选项“%s”具有歧义\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: 选项\"--%s\"不需要参数\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: 选项\"%c%s\"不需要参数\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: 选项\"%s\"需要带参数\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: 无法识别的选项\"--%s\"\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: 无法识别的选项\"%c%s\"\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: 无效选项 -- \"%c\"\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: 选项需要参数 -- \"%c\"\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: 选项\"-W %s\"具有歧义\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: 选项\"-W %s\"不要参数\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: 选项\"%s\"需要带参数\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "无法记录当前工作目录"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "无法回到起始的工作目录"
@@ -227,11 +232,11 @@ msgstr "无法回到起始的工作目录"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "“"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "”"
 
@@ -241,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yY]"
 
@@ -251,16 +256,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "由 %s (%s) 打包\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "由 %s 打包\n"
@@ -268,11 +273,11 @@ msgstr "由 %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -289,19 +294,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "由 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "由 %s 和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "由 %s,%s, 和 %s 所写。\n"
@@ -309,7 +314,7 @@ msgstr "由 %s,%s, 和 %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -321,7 +326,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -333,7 +338,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -345,7 +350,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -357,7 +362,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -371,7 +376,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -385,7 +390,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -400,7 +405,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -409,22 +414,22 @@ msgstr ""
 "\n"
 "将错误报告发送到: %s。翻译错误报告给 <i18n-zh@googlegroups.com>\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "将 %s 错误报告发送到: %s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s 主页: <%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s 主页: <http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "GNU 软件的通用帮助: <http://www.gnu.org/gethelp/>\n"
 
@@ -533,9 +538,9 @@ msgid "Cannot connect to %s: resolve failed"
 msgstr "无法连接至 %s: 解析失败"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "无法执行远程 shell"
+msgstr "无法为远程 shell重定向文件"
 
 #: lib/rtapelib.c:516
 #, c-format
@@ -586,8 +591,8 @@ msgstr "参数异常"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "接受远程程序的命令操作磁带机"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "NUMBER"
 
@@ -595,10 +600,11 @@ msgstr "NUMBER"
 msgid "set debug level"
 msgstr "设定调试级别"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "FILE"
 
@@ -611,7 +617,7 @@ msgstr "设定调试输出文件名"
 msgid "cannot open %s"
 msgstr "无法打开 %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "参数过多"
@@ -620,109 +626,108 @@ msgstr "参数过多"
 msgid "Garbage command"
 msgstr "垃圾命令"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "它似乎不像是一个 tar 归档文件"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "总计读取字节数"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "总计写入字节数"
 
-#: src/buffer.c:577
-#, fuzzy
+#: src/buffer.c:580
 msgid "Total bytes deleted"
-msgstr "总计删除字节数:%s\n"
+msgstr "总计删除字节数"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(管道)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr ""
+msgstr "无法从终端读取归档内容(缺少 -f 选项?)"
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr ""
+msgstr "无法向终端写入归档内容(缺少 -f 选项?)"
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "record_size 的无效值"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "未给出归档文件名"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "无法验证标准输入/标准输出归档文件"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "归档被压缩。使用 %s 选项"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "无法更新压缩归档文件"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "处于磁带的起点,现在退出"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "错误过多,退出"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "记录大小 = %lu 块"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "归档中未对齐的块 (%lu 字节)s"
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "无法倒回归档文件;如果没有 -i 可能无法读入它"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek 未停在记录边界处"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s:包含无效的卷编号"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "卷编号溢出"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "为 %2$s 准备卷 #%1$d 并按回车:"
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "需得到用户应答时文件结束"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "警告:归档文件不完整"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -733,71 +738,71 @@ msgstr ""
 " q\t\t终止 tar\n"
 " y or newline\t继续操作\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             衍生出一个子 shell\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             打印此列表\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "没有新的卷;退出。\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "未指定文件名。重试。\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "无效输入。输入 ? 显示帮助。\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "%s 命令失败"
 
-#: src/buffer.c:1491
-#, c-format
-msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s 在本卷可能连续: 头部包含截短的名字"
-
-#: src/buffer.c:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s 在本卷中不连续"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, c-format
+msgid "%s is possibly continued on this volume: header contains truncated name"
+msgstr "%s 在本卷可能连续: 头部包含截短的名字"
+
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s 的大小错误 (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "此卷次序有误(%s - %s != %s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "归档未被标记为匹配 %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "卷标 %s 不匹配 %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr "%s: 文件名太长而无法贮存在 GNU 多卷头,已被截短"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "写操作未在记录边界处终止"
 
@@ -807,20 +812,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "内容不同"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "归档文件中异常的 EOF"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "文件类型不同"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "访问模式不同"
 
@@ -836,7 +841,7 @@ msgstr "Gid 不同"
 msgid "Mod time differs"
 msgstr "修改时间不同"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "大小不同"
 
@@ -845,136 +850,136 @@ msgstr "大小不同"
 msgid "Not linked to %s"
 msgstr "没有连接到 %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "符号连接不同"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "设备号不同"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "校验"
 
-#: src/compare.c:473
-#, fuzzy, c-format
+#: src/compare.c:477
+#, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s:未知的文件类型“%c”,与普通文件不同"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "归档包含带有被移除前导字符的文件名。"
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "归档中有文件被改名。"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "位于原始文件中的验证可能失败。"
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "校验失败:检测到 %d 个无效的头"
 
-#: src/compare.c:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "在 %s 处一个单独的零块"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: 包含一个缓存目录标识 %s;%s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "值 %s 超出了 %s 的范围 %s..%s;正在替换 %s"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "值 %s 超出了 %s 的范围 %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "正在生成负八进制头"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s:文件名太长(最长 %d);未输出"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s:文件名太长(不能被分割);未输出"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s:连接名太长;未输出"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s:文件在不同的文件系统上;未输出"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "未输出内容"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s:未知的文件类型;忽略文件"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "缺少到 %s 的连接。"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: 文件未改变;未输出"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: 文件是归档文件;未输出"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "未输出目录"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: 在我们读入文件时文件发生了变化"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: 忽略套接字(socket)"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: 忽略权限"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "跳转到下一个头"
 
@@ -992,54 +997,54 @@ msgstr "%s:不可信的旧时间戳 %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s:时间戳 %s 是未来的 %s 秒之后"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s:创建目录时出现意外的不一致"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s: 忽略已存在的文件"
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s:目录名在状态信息被获取之前改变了"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "展开紧邻的文件为普通文件"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "正试图将符号连接展开为硬连接"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s:无法展开 -- 文件一直延伸至另一卷中"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "异常的长名字头部"
 
-#: src/extract.c:1542
-#, fuzzy, c-format
+#: src/extract.c:1587
+#, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "%s:未知的文件类型“%c”,作为普通文件展开"
+msgstr "%s:未知的文件类型“%c”,按正常文件解开"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "当前的“%s”更新或一样新"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s:无法备份该文件"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "无法将 %s 重命名为 %s"
@@ -1055,9 +1060,9 @@ msgid "%s: Directory is new"
 msgstr "%s:目录是新的"
 
 #: src/incremen.c:566
-#, fuzzy, c-format
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s:文件在不同的文件系统上;未输出"
+msgstr "%s:目录在不同的文件系统上;未输出"
 
 #: src/incremen.c:587
 #, c-format
@@ -1069,9 +1074,8 @@ msgid "Invalid time stamp"
 msgstr "无效的时间戳"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "无效的修改时间(秒)"
+msgstr "无效的修改时间"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
@@ -1088,217 +1092,220 @@ msgstr "无效的 inode 号"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: 字节 %s: %s %.*s... 太长"
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "目录文件中异常的文件结尾(EOF)"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: 字节 %s: %s %s 后跟无效字节 0x%02x"
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: 字节 %s: (有效范围 %s..%s)\n"
+"\t%s %s"
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: 字节 %s: %s %s"
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: 字节 %s: %s"
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "缺少记录终止符"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "文件格式错误增量"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "不支持增量格式版本: %<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "错误的 dumpdir: 需要“%c”但实际为 %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "错误的 dumpdir: 重复的“X”"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "错误的 dumpdir: “R”中有空名字"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr "错误的 dumpdir: “R”后未紧接着用“T”"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
+msgstr "错误的 dumpdir: 'T' not preceded by 'R'"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "错误的 dumpdir: “T”中有空名字"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "错误的 dumpdir: 需要“%c”但实际为数据结尾"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "错误的 dumpdir: 从未用过“X”"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "无法通过模板 %s 创建临时目录"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s:未清除目录:无法 stat"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: 目录在不同的设备上: 未清除"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s:正在删除 %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s:无法删除"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s:忽略"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "块 %s:** 空块 **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "块 %s:** 文件结束 **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "块 %s:"
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "归档八进制值 %.*s 超出 %s 的范围"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "归档包含过时的 base-64 头"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "归档签署的 base-64 字符串 %s 超出范围 %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "归档值 %s 超出 %s 的范围 %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " 连接到 %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " 未知的文件类型 %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--长连接--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--长名--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--卷头--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--从 %s 字节继续--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "正在创建目录:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "将 %s 改名为 %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s:无法重命名为 %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "将 %s 的名字改回 %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s:文件在我们读入之前被删除了"
@@ -1311,82 +1318,228 @@ msgstr "子进程"
 msgid "interprocess channel"
 msgstr "进程内通道"
 
-#: src/names.c:360
-#, fuzzy
+#: src/names.c:68
+msgid "Local file name selection:"
+msgstr "本地文件名选择:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr "添加指定的 FILE 至归档(如果名字以 - 开始会很有用的)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "DIR"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "改变至目录 DIR"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "从 FILE 中获取文件名来解压或创建文件"
+
+#: src/names.c:77
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T 读取以空终止的名字; 隐含 --verbatim-files-from"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "禁用上一次的效果 --null 选项"
+
+#: src/names.c:82
+msgid "unquote input file or member names (default)"
+msgstr "unquote 输入文件或成员名称(默认)"
+
+#: src/names.c:84
+msgid "do not unquote input file or member names"
+msgstr "不要unquote 输入文件或成员名称"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr "-T 逐字读取文件名(不处理选项)"
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr "-T 把以‘-’开始的文件作为选项(默认)"
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "PATTERN"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "排除以 PATTERN 指定的文件"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "排除 FILE 中列出的模式串"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr "除标识文件本身外,排除包含 CACHEDIR.TAG 的目录中的内容"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "排除包含 CACHEDIR.TAG 的目录中所有内容"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "排除包含 CACHEDIR.TAG 的目录"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "除 FILE 自身外,排除包含 FILE 的目录中的内容"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr "若存在FILE, 则从其中读取每个目录的例外匹配项"
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr "若存在FILE, 则从其中为每个目录及其子目录读取需要排除的例外匹配项"
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "排除包含 FILE 的目录中的所有内容"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "排除包含 FILE 的目录"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "排除版本控制系统目录"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr "从VCS 忽略文件中读取排除匹配项"
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "排除备份和锁文件"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "目录递归(默认)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "避免目录中的自动降级"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr "文件名匹配选项(同时影响排除和包括模式串):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "模式串匹配文件名头部"
+
+#: src/names.c:134
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "模式串匹配任意‘/’后字符(默认对 exclusion 有效)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "忽略大小写"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "匹配大小写(默认)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "使用通配符(默认对 exclusion )"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "逐字匹配字符串"
+
+#: src/names.c:144
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "通配符匹配‘/’(默认对exclusion 有效)"
+
+#: src/names.c:146
+msgid "wildcards do not match '/'"
+msgstr "通配符不匹配‘/’"
+
+#: src/names.c:768
 msgid "command line"
-msgstr "%s 命令失败"
+msgstr "命令行"
 
-#: src/names.c:378
-#, fuzzy, c-format
+#: src/names.c:786
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: 文件列表已经读取"
+msgstr "%s: 从%s 里读取的文件列表已经从%s 里读取了"
 
-#: src/names.c:448 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:867 src/checkpoint.c:274
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "无法设定“%s”的时间"
+msgstr "无法拆分字符串‘%s’: %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: 读取的文件名含有空字符"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "文件名中所使用的字符匹配模式"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr "使用 --wildcards 打开模式匹配,或是 --no-wildcards 来关闭之"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s:归档中找不到"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s:没有在归档中找到需要的"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "归档卷标不匹配"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr "在文件列表中 -C 选项与 --listed-incremental 选项不许合用"
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "仅一个 -C 选项允许与  --listed-incremental 合用"
 
-#: src/tar.c:87
-#, fuzzy, c-format
+#: src/tar.c:88
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "选项“-%s”和“-%s”都需要标准输出"
+msgstr "选项“%s”和“%s”都需要标准输出"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s:无效的归档格式"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "在不兼容的归档格式上需要 GNU 特征"
 
-#: src/tar.c:264
-#, fuzzy, c-format
+#: src/tar.c:265
+#, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr "未知的引用形式‘%s’。尝试用‘%s --quoting-style=help’获取列表。"
 
-#: src/tar.c:378
-#, fuzzy
+#: src/tar.c:354
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1404,10 +1557,9 @@ msgstr ""
 "tar。\n"
 "  tar -tvf archive.tar         # 详细列举归档文件 archive.tar 中的所有文"
 "件。\n"
-"  tar -xf archive.tar          # 开归档文件 archive.tar 中的所有文件。\n"
+"  tar -xf archive.tar          # 开归档文件 archive.tar 中的所有文件。\n"
 
-#: src/tar.c:387
-#, fuzzy
+#: src/tar.c:363
 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 "
@@ -1426,79 +1578,87 @@ msgstr ""
 "  nil, existing   如果编号备份存在则进行编号备份,否则进行简单备份\n"
 "  never, simple   总是使用简单备份\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "主操作模式:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "列出归档内容"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "从归档中解出文件"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "创建一个新归档"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "找出归档和文件系统的差异"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "追加文件至归档结尾"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "仅追加比归档中副本更新的文件"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "追加 tar 文件至归档"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "从归档(非磁带!)中删除"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "测试归档卷标并退出"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "操作修饰符:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "高效处理离散文件"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr "TYPE"
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr "用于探测holes 的技术"
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "设置所用的离散格式版本(隐含 --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "处理老式的 GNU 格式的增量备份"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "处理新式的 GNU 格式的增量备份"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "所创建的增量列表归档的输出级别"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "当遇上不可读文件时不要以非零值退出"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1509,138 +1669,144 @@ msgstr ""
 "extract 或是 --list 中的一个联合使用时,此选项才有效。而且不管文件列表是以命"
 "令行形式给出或是通过 -T 选项指定的;NUMBER 值默认为 1"
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "归档可检索"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "归档不可检索"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "当创建增量归档时不要检查设备号"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "当创建增量归档时检查设备号(默认)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "重写控制:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "在写入以后尝试校验归档"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "在添加文件至归档后删除它们"
 
-#: src/tar.c:485
-#, fuzzy
+#: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "解压时不要替换存在的文件"
+msgstr "解压时不替换存在的文件, 而将其认为是错误"
 
-#: src/tar.c:488
-#, fuzzy
+#: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "解压时不要替换存在的文件"
+msgstr "解压时不替换存在的文件,而是自动忽略"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "不要替换比归档中副本更新的已存在的文件"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "解压时重写存在的文件"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "在解压要重写的文件之前先删除它们"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "解压目录之前先清除目录层次"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "保留已存在目录的元数据"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "解压时重写已存在目录的元数据(默认)"
 
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "解压时重写存在的文件"
+msgstr "解压时保留已存在的目录符号链接"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "DIR"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "创建子目录以避免解压松散文件"
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "选择输出流:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "解压文件至标准输出"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "COMMAND"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "将解压的文件通过管道传送至另一个程序"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "忽略子进程的退出代码"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "将子进程的非零退出代码认为发生错误"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "操作文件属性:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "强制将 NAME 作为所添加的文件的所有者"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "强制将 NAME 作为所添加的文件的组所有者"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr "用FILE 映射文件所有者UIDs 和名字"
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr "用FILE 映射文件所有者GIDs 和名字"
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "DATE-OR-FILE"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "从 DATE-OR-FILE 中为添加的文件设置 mtime"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "CHANGES"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "强制将所添加的文件(符号)更改为权限 CHANGES"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "METHOD"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1649,507 +1815,363 @@ msgstr ""
 "在输出的文件上保留访问时间,要么通过在读取(默认 METHOD=‘replace’)后还原时间,"
 "要不就不要在第一次(METHOD=‘system’)设置时间"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "不要解压文件的修改时间"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr "尝试解压时保持所有者关系一致(超级用户默认此项)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "将文件解压为您所有(普通用户默认此项)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "总是以数字代表用户/组的名称"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "解压文件权限信息(默认只为超级用户服务)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr "从归档中解压权限时使用用户的掩码位(默认为普通用户服务)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
-msgstr ""
-
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "与 -p 和 -s 一样"
+msgstr "成员参数按归档中的文件顺序列出"
 
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr "直到解压结束才设置修改时间和所解目录的权限"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "取消 --delay-directory-restore 选项的效果"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDER"
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "目录排序顺序: none(默认)或name"
 
-#: src/tar.c:578
-#, fuzzy
+#: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr "操作文件属性:"
+msgstr "操作extended 文件属性:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "开启extended 属性支持"
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "关闭extended 属性支持"
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MASK"
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "为xattr 关键字指定包含匹配项"
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "为xattr 关键字指定排除匹配项"
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "开启SELinux 上下文支持"
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "关闭SELinux 上下文支持"
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "开启POSIX ACLs 支持"
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "关闭POSIX ACLs 支持"
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "设备选择和切换:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "ARCHIVE"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "使用归档文件或 ARCHIVE 设备"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "即使归档文件存在副本还是把它认为是本地归档"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "使用指定的 rmt COMMAND 代替 rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "使用远程 COMMAND 代替 rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "指定驱动器和压缩率"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "创建/列出/解压多卷归档文件"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "写入 NUMBER × 1024 字节后更换磁带"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "在每卷磁带最后运行脚本(隐含 -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "使用/更新 FILE 中的卷数"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "设备分块:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "BLOCKS"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "每个记录 BLOCKS x 512 字节"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "每个记录的字节数 NUMBER,乘以 512"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "忽略归档中的零字节块(即文件结尾)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "读取时重新分块(只对 4.2BSD 管道有效)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "选择归档格式:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "创建指定格式的归档"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT 是以下格式中的一种:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "old V7 tar 格式"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU 格式 as per tar <= 1.12"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x 格式"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) 格式"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) 格式"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "等同于 pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "等同于 --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "等同于 --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "关键字[[:]=值][,关键字[[:]=值]]..."
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "控制 pax 关键字"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:679
+#: src/tar.c:661
 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:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "压缩选项:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "使用归档后缀名来决定压缩程序"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "不使用归档后缀名来决定压缩程序"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "通过 PROG 过滤(必须是能接受 -d 选项的程序)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "本地文件选择:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr "添加指定的 FILE 至归档(如果名字以 - 开始会很有用的)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "改变至目录 DIR"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "从 FILE 中获取文件名来解压或创建文件"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T 读取以空终止的名字,-C 禁用"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "禁用上一次的效果 --null 选项"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "以 -T 读取的文件名作为引用结束(默认)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "不以 -T 读取的文件名作为引用结束"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "PATTERN"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "排除以 PATTERN 指定的文件"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "排除 FILE 中列出的模式串"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr "除标识文件本身外,排除包含 CACHEDIR.TAG 的目录中的内容"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "排除包含 CACHEDIR.TAG 的目录中所有内容"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "排除包含 CACHEDIR.TAG 的目录"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "除 FILE 自身外,排除包含 FILE 的目录中的内容"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "排除包含 FILE 的目录中的所有内容"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "排除包含 FILE 的目录"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "排除版本控制系统目录"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "排除备份和锁文件"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "避免目录中的自动降级"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "创建归档时保存在本地文件系统中"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "目录递归(默认)"
-
-#: src/tar.c:761
-#, fuzzy
+#: src/tar.c:693
 msgid "don't strip leading '/'s from file names"
 msgstr "不要从文件名中清除引导符‘/’"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "跟踪符号链接;将它们所指向的文件归档并输出"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "跟踪硬链接;将它们所指向的文件归档并输出"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "MEMBER-NAME"
 
-#: src/tar.c:767
-#, fuzzy
+#: src/tar.c:699
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "从归档中的 MEMBER-NAME 成员处开始"
+msgstr "从归档中的 MEMBER-NAME 成员处开始读取归档"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "只保存比 DATE-OR-FILE 更新的文件"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "DATE"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "当只有数据改变时比较数据和时间"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "在删除前备份,选择 CONTROL 版本"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 "在删除前备份,除非被环境变量 SIMPLE_BACKUP_SUFFIX 覆盖,否则覆盖常用后缀(‘’)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "文件名变换:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "解压时从文件名中清除 NUMBER 个引导部分"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "使用 sed 代替 EXPRESSION 来进行文件名变换"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr "文件名匹配选项(同时影响排除和包括模式串):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "忽略大小写"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "模式串匹配文件名头部"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "模式串匹配任意‘/’后字符(默认对 exclusion 有效)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "匹配大小写(默认)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "使用通配符(默认对 exclusion )"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "逐字匹配字符串"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "通配符不匹配‘/’"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "通配符匹配‘/’(默认对排除操作有效)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "提示性输出:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "详细地列出处理的文件"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "KEYWORD"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "警告控制:"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "每隔 NUMBER 个记录显示进度信息(默认为 10 个)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "在每个检查点上执行 ACTION"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "只要不是所有链接都被输出就打印信息"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2160,119 +2182,125 @@ msgstr ""
 "号为: SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和 SIGUSR2;同时也接受不带 SIG 前缀的"
 "信号名称"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "以 UTC 格式打印文件修改时间"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "按文件原本时间格式打印"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "将详细输出发送至 FILE"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "每个信息都显示归档内的块数"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "每次操作都要求确认"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "显示 tar 默认选项"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "显示快照文件区的有效范围"
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "列表或解压时,列出每个不匹配查找标准的目录"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "显示变换后的文件名或归档名"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "设置名称引用风格;有效的 STYLE 值请参阅以下说明"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "来自 STRING 的额外的引用字符"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "禁用来自 STRING 的字符引用"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "兼容性选项:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "创建归档时,相当于 --old-archive;展开归档时,相当于 --no-same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "其它选项:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "禁用某些潜在的有危险的选项"
 
-#: src/tar.c:1010
-#, fuzzy
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "‘%s’无法与‘%s’一起用"
+
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
-msgstr "您不能指定超过一个\"-Acdtrux\"或是\"--test-label\"外的选项"
+msgstr "您不能指定\"-Acdtrux\", \"--delete\"或是\"--test-label\"外的选项"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "压缩选项冲突"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "未知的信号名称: %s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "找不到数据样板文件"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "把未知的时间格式 %2$s 替换为 %1$s"
 
-#: src/tar.c:1140
-#, fuzzy, c-format
+#: src/tar.c:1066
+#, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "选项 %s: 将日期 ‘%s’ 当作 %s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "通过 %s 过滤归档"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style 选项的有效参数为:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2280,192 +2308,193 @@ msgstr ""
 "\n"
 "此 tar 默认为:\n"
 
-#: src/tar.c:1330
-#, fuzzy
+#: src/tar.c:1253
 msgid "Invalid owner or group ID"
-msgstr "无效的所有者"
+msgstr "无效的所有者或组ID"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 #, fuzzy
 msgid "Invalid blocking factor"
 msgstr "无效的块因子"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "无效的磁带长度"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "无效的增量度"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "多于一个时间阈值"
 
-#: src/tar.c:1626 src/tar.c:1629
-#, fuzzy
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
-msgstr "æ\97 æ\95\88ç\9a\84ç¨\80ç\96\8f版本值"
+msgstr "æ\97 æ\95\88ç\9a\84离æ\95£版本值"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "此平台不支持 --atime-preserve=‘system’ "
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint 值不是个整数"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "选项中给出无效的访问模式"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "无效的数字"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"--preserve 选项已经废弃了,请使用 --preserve-permissions --preserve-order 代"
-"替"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "无效的记录大小"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "记录大小必须是 %d 的倍数。"
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "无效的元素数"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "仅允许使用一个 --to-command 选项"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "错误的压缩参数: %s"
 
-#: src/tar.c:2205
-#, fuzzy, c-format
+#: src/tar.c:2052
+#, c-format
 msgid "Unknown density: '%c'"
 msgstr "未知的压缩参数: ‘%c’"
 
-#: src/tar.c:2222
-#, fuzzy, c-format
+#: src/tar.c:2069
+#, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "本 tar 不支持选项“-[0-7][lmh]”"
+msgstr "此版本 tar 不支持选项“-[0-7][lmh]”"
+
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr "%s:%lu: 错误定位"
 
-#: src/tar.c:2235
+#: src/tar.c:2078
+#, c-format
+msgid "error parsing %s"
+msgstr "错误解析 %s"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FILE]..."
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
-#, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "不能使用模式 %s"
+#: src/tar.c:2183
+#, c-format
+msgid "non-option arguments in %s"
+msgstr "%s 中有非选项参数"
 
-#: src/tar.c:2389
-#, fuzzy, c-format
+#: src/tar.c:2198
+#, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "无法分割 TAR_OPTIONS: %s"
+
+#: src/tar.c:2293
+#, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "旧选项“%c”需要参数。"
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "没有一个文件列表时 --occurrence 是没有意义的"
 
-#: src/tar.c:2490
-#, fuzzy
+#: src/tar.c:2395
 msgid "Multiple archive files require '-M' option"
 msgstr "多个归档文件需要使用“-M”选项"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "没有 --listed-incremental 选项的话 --level 选项是无意义的"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "无法检验多卷归档文件"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "无法检验压缩归档文件"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "无法使用多卷压缩归档文件"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "无法联结压缩归档文件"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option 只能用于 POSIX 归档中"
 
-#: src/tar.c:2560
-#, fuzzy
+#: src/tar.c:2486
 msgid "--acls can be used only on POSIX archives"
-msgstr "--pax-option 只能用于 POSIX 归档中"
+msgstr "--acls 只能用于 POSIX 归档中"
 
-#: src/tar.c:2565
-#, fuzzy
+#: src/tar.c:2491
 msgid "--selinux can be used only on POSIX archives"
-msgstr "--pax-option 只能用于 POSIX 归档中"
+msgstr "--selinux 只能用于 POSIX 归档中"
 
-#: src/tar.c:2570
-#, fuzzy
+#: src/tar.c:2496
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "--pax-option 只能用于 POSIX 归档中"
+msgstr "--xattrs 只能用于 POSIX 归档中"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
-msgstr ""
+msgstr "无法推断顶层目录名; 请用--one-top-level=DIR 明确指定"
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "卷长度不可小于记录大小"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "谨慎地拒绝创建空归档文件"
 
-#: src/tar.c:2669
-#, fuzzy
+#: src/tar.c:2628
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "选项“-Aru”与“-f -”不兼容"
 
-#: src/tar.c:2766
-#, fuzzy
+#: src/tar.c:2716
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "您必须从\"-Acdtrux\"或是\"--test-label\"选项中指定一个"
+msgstr "您必须从\"-Acdtrux\", \"--delete\"或是\"--test-label\"中指定一个选项"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "由于前次错误,将以上次的错误状态退出"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "目录排序顺序: none(默认), name 或inode"
 
 #: src/update.c:87
 #, c-format
@@ -2514,38 +2543,38 @@ msgid "Malformed extended header: missing newline"
 msgstr "错误的扩展头: 缺少空行"
 
 #: src/xheader.c:741
-#, fuzzy, c-format
+#, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "忽略未知的扩展头关键字‘%s’"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "扩展头 %s=%s 超出范围 %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "错误的扩展头: %s=%s 无效"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "错误的扩展头: %s=%s 溢出"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "错误的扩展头: %s 无效: 非预期的分隔符 %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "错误的扩展头: %s 无效: 奇怪的数值"
@@ -2586,7 +2615,7 @@ msgstr "写入操作的检查点 %u"
 msgid "Read checkpoint %u"
 msgstr "读取操作的检查点 %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2594,86 +2623,90 @@ msgstr ""
 "genfile 为 GNU paxutils 测试软件操作数据文件。\n"
 "选项为:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "文件创建选项:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "SIZE"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "创建指定 SIZE 的文件"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "写入文件 NAME,而不是标准输出"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "从 FILE 读取文件名"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T 读取以 NULL 终止的名字"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "以指定的 PATTERN 填充文件。PATTERN 可以是‘default’或是‘zeros’"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "稀疏文件的块大小"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "生成稀疏文件。命令行其余选项指定 map 文件。"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "OFFSET"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "在写入数据前定位至指定的偏移位"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "文件统计选项:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "打印每个给定文件的 stat 结构定义的内容。默认 FORMAT 是: "
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "同步执行选项:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "OPTION"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
 msgstr ""
 "执行 ARGS。与 --checkpoint 或 --cut,--append,--touch 中的一个一起使用时有用"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "只要达到 checkpoint NUMBER 指定的数值就执行指定的操作(见下)"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "为下一个 --touch 选项设定日期"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "显示执行的 checkpoints 以及 COMMAND 的退出状态"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2681,169 +2714,166 @@ msgstr ""
 "同步执行操作。当达到由 --checkpoint 选项指定的 checkpoint 数值时会执行这些操"
 "作。"
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr "截短 FILE 至由前面 --length 选项指定的大小(如果未指定的话,默认 0)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "添加 SIZE 字节至 FILE。SIZE 由前面的 --length 选项指定。"
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "更新 FILE 的访问和修改时间"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "执行 COMMAND"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "删除 FILE"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "无效的值: %s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "数值超出所允许的范围: %s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "负值: %s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) 错误"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "需要文件长度为 %lu,实际为 %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "所创建的文件非稀疏文件"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "“%s”附近解析数字错误"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "未知的数据格式"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "无法打开“%s”"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "无法定位"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "文件名包含空字符"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "使用 --file 选项无法在标准输出上生成离散文件"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "不正确的掩码(“%s”附近)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "未知的文件掩码位“%s”"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "无法设定“%s”的时间"
 
-#: tests/genfile.c:692
-#, fuzzy, c-format
+#: tests/genfile.c:760
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "无法删除 \"%s\""
+msgstr "无法删除“%s”"
 
-#: tests/genfile.c:701
-#, fuzzy, c-format
+#: tests/genfile.c:769
+#, c-format
 msgid "command failed: %s"
-msgstr "%s 命令失败"
+msgstr "命令失败: %s"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "无法删除 \"%s\""
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "命令成功退出\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "命令出错,状态 %d\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "命令由信号 %d 终止了\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "命令由信号 %d 停止了\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "命令输出 core\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "命令终止\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat 选项需要文件名"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "为解压至匹配归档排序名称"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence 不能用于请求的操作模式中"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "无法在使用 --newer 的时候使用 --listed-incremental"
+#~ msgid "same as both -p and -s"
+#~ msgstr "与 -p 和 -s 一样"
 
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order 与 --listed-incremental 不匹配"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "--preserve 选项已经废弃了,请使用 --preserve-permissions --preserve-order "
+#~ "代替"
 
 #~ msgid "Field too long while reading snapshot file"
 #~ msgstr "读取目录文件时字段太长"
@@ -2857,9 +2887,21 @@ msgstr "--stat 选项需要文件名"
 #~ msgid "Cannot get working directory"
 #~ msgstr "无法获取工作目录"
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "为解压至匹配归档排序名称"
+
 #~ msgid "Invalid group"
 #~ msgstr "无效的组"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "--occurrence 不能用于请求的操作模式中"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "无法在使用 --newer 的时候使用 --listed-incremental"
+
+#~ msgid "--preserve-order is not compatible with --listed-incremental"
+#~ msgstr "--preserve-order 与 --listed-incremental 不匹配"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "扩展头长度超出所允许的范围"
 
index ac67d9216f0f95c477a687d705cb589ab9a9f0dd..24eff68201fa7e18fd3c4e3f533262af2a4933e3 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index f0f332b39de0bf8fc459c12a1d287c73e77b266b..561723f8e14715e5eeb5695d86e4b6d490ff6bd3 100644 (file)
@@ -3,12 +3,12 @@
 # This file is distributed under the same license as the tar package.
 # Wei-Lun Chao <bluebat@member.fsf.org>, 2009, 2013.
 #
-#: src/create.c:1574
+#: src/create.c:1592
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.26\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2014-07-27 23:35+0300\n"
+"POT-Creation-Date: 2016-05-16 09:55+0300\n"
 "PO-Revision-Date: 2013-05-31 23:39+0800\n"
 "Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -18,188 +18,193 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: gnu/argmatch.c:135
+#: gnu/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
 msgstr "%2$s 的引數 %1$s 無效"
 
-#: gnu/argmatch.c:136
+#: gnu/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
 msgstr "%2$s 的引數 %1$s 是模稜兩可的"
 
-#: gnu/argmatch.c:155
+#: gnu/argmatch.c:153
 msgid "Valid arguments are:"
 msgstr "有效的引數為:"
 
-#: gnu/argp-help.c:150
+#: gnu/argp-help.c:148
 #, 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:223
+#: gnu/argp-help.c:221
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: ARGP_HELP_FMT 參數需要一個值"
 
-#: gnu/argp-help.c:229
+#: gnu/argp-help.c:227
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 msgstr "%.*s: ARGP_HELP_FMT 參數必須是正值"
 
-#: gnu/argp-help.c:238
+#: gnu/argp-help.c:236
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr "%.*s: 不明的 ARGP_HELP_FMT 參數"
 
-#: gnu/argp-help.c:250
+#: gnu/argp-help.c:248
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr "ARGP_HELP_FMT 中無用的資訊: %s"
 
-#: gnu/argp-help.c:1250
+#: gnu/argp-help.c:1248
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr "長選項的必須或可選用的引數也是相對應短選項的必須或可選用的引數。"
 
-#: gnu/argp-help.c:1643
+#: gnu/argp-help.c:1645
 msgid "Usage:"
 msgstr "用法:"
 
-#: gnu/argp-help.c:1647
+#: gnu/argp-help.c:1649
 msgid "  or: "
 msgstr "  或:"
 
-#: gnu/argp-help.c:1659
+#: gnu/argp-help.c:1661
 msgid " [OPTION...]"
 msgstr " [選項…]"
 
-#: gnu/argp-help.c:1686
+#: gnu/argp-help.c:1688
 #, fuzzy, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
 msgstr "試試 %s --help 或 %s --usage 以獲得更多資訊。\n"
 
-#: gnu/argp-help.c:1714
+#: gnu/argp-help.c:1716
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "請向 %s 回報錯誤。\n"
 
-#: gnu/argp-help.c:1933 gnu/error.c:190
+#: gnu/argp-help.c:1935 gnu/error.c:191
 msgid "Unknown system error"
 msgstr "不明的系統錯誤"
 
-#: gnu/argp-parse.c:83
+#: gnu/argp-parse.c:81
 msgid "give this help list"
 msgstr "給出這個使用方式列表"
 
-#: gnu/argp-parse.c:84
+#: gnu/argp-parse.c:82
 msgid "give a short usage message"
 msgstr "給出簡短的使用訊息"
 
-#: gnu/argp-parse.c:85 src/tar.c:529 src/tar.c:531 src/tar.c:630
-#: tests/genfile.c:130
+#: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
+#: tests/genfile.c:134
 msgid "NAME"
 msgstr "名稱"
 
-#: gnu/argp-parse.c:85
+#: gnu/argp-parse.c:83
 msgid "set the program name"
 msgstr "設定程式名稱"
 
-#: gnu/argp-parse.c:86
+#: gnu/argp-parse.c:84
 msgid "SECS"
 msgstr "秒"
 
-#: gnu/argp-parse.c:87
+#: gnu/argp-parse.c:85
 msgid "hang for SECS seconds (default 3600)"
 msgstr "掛斷若干秒 (預設 3600)"
 
-#: gnu/argp-parse.c:144
+#: gnu/argp-parse.c:142
 msgid "print program version"
 msgstr "印出程式版本"
 
-#: gnu/argp-parse.c:161
+#: gnu/argp-parse.c:159
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr "(程式錯誤) 沒有已知版本 !?"
 
-#: gnu/argp-parse.c:614
+#: gnu/argp-parse.c:612
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr "%s:太多引數\n"
 
-#: gnu/argp-parse.c:757
+#: gnu/argp-parse.c:755
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(程式錯誤) 選項應該已被辨識 !?"
 
-#: gnu/closeout.c:114
+#: gnu/closeout.c:112
 msgid "write error"
 msgstr "寫入錯誤"
 
-#: gnu/getopt.c:549 gnu/getopt.c:578
+#: gnu/getopt.c:575 gnu/getopt.c:604
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
 msgstr "%s:選項 %s 是模稜兩可的\n"
 
-#: gnu/getopt.c:626 gnu/getopt.c:630
+#: gnu/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s:選項 -W %s 是模稜兩可的\n"
+
+#: gnu/getopt.c:654 gnu/getopt.c:658
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s:選項 --%s 不允許引數\n"
 
-#: gnu/getopt.c:639 gnu/getopt.c:644
+#: gnu/getopt.c:667 gnu/getopt.c:672
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s:選項 %c%s 不允許有引數\n"
 
-#: gnu/getopt.c:687 gnu/getopt.c:706
+#: gnu/getopt.c:715 gnu/getopt.c:734
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s:選項 --%s 需要一個引數\n"
 
-#: gnu/getopt.c:744 gnu/getopt.c:747
+#: gnu/getopt.c:772 gnu/getopt.c:775
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s:無法辨識的選項 --%s\n"
 
-#: gnu/getopt.c:755 gnu/getopt.c:758
+#: gnu/getopt.c:783 gnu/getopt.c:786
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s:無法辨識的選項 %c%s\n"
 
-#: gnu/getopt.c:807 gnu/getopt.c:810
+#: gnu/getopt.c:835 gnu/getopt.c:838
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s:無效的選項 -- %c\n"
 
-#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108
+#: gnu/getopt.c:891 gnu/getopt.c:908 gnu/getopt.c:1118 gnu/getopt.c:1136
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s:選項需要一個引數 -- %c\n"
 
-#: gnu/getopt.c:936 gnu/getopt.c:952
+#: gnu/getopt.c:964 gnu/getopt.c:980
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s:選項 -W %s 是模稜兩可的\n"
 
-#: gnu/getopt.c:976 gnu/getopt.c:994
+#: gnu/getopt.c:1004 gnu/getopt.c:1022
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s:選項 -W %s 不允許有引數\n"
 
-#: gnu/getopt.c:1015 gnu/getopt.c:1033
+#: gnu/getopt.c:1043 gnu/getopt.c:1061
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s:選項 -W %s 需要一個引數\n"
 
-#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36
+#: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "記憶體已耗盡"
 
-#: gnu/openat-die.c:40
+#: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
 msgstr "無法記錄目前的工作目錄"
 
-#: gnu/openat-die.c:59
+#: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "回到初始工作目錄時失敗"
@@ -225,11 +230,11 @@ msgstr "回到初始工作目錄時失敗"
 #. If you don't know what to put here, please see
 #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnu/quotearg.c:314
+#: gnu/quotearg.c:312
 msgid "`"
 msgstr "「"
 
-#: gnu/quotearg.c:315
+#: gnu/quotearg.c:313
 msgid "'"
 msgstr "」"
 
@@ -239,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:152
+#: gnu/rpmatch.c:150
 msgid "^[yY]"
 msgstr "^[yY是]"
 
@@ -249,16 +254,16 @@ 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:165
+#: gnu/rpmatch.c:163
 msgid "^[nN]"
 msgstr "^[nN否]"
 
-#: gnu/version-etc.c:76
+#: gnu/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "由 %s (%s) 打包套件\n"
 
-#: gnu/version-etc.c:79
+#: gnu/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "由 %s 打包套件\n"
@@ -266,11 +271,11 @@ msgstr "由 %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
+#: gnu/version-etc.c:84
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:88
+#: gnu/version-etc.c:86
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -287,19 +292,19 @@ msgstr ""
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
-#: gnu/version-etc.c:104
+#: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
 msgstr "由 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:108
+#: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
 msgstr "由 %s 和 %s 編寫。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
-#: gnu/version-etc.c:112
+#: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
 msgstr "由 %s, %s, 和 %s 編寫。\n"
@@ -307,7 +312,7 @@ msgstr "由 %s, %s, 和 %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
+#: gnu/version-etc.c:117
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -319,7 +324,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:124
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -331,7 +336,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:131
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -343,7 +348,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:139
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -355,7 +360,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:147
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -369,7 +374,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:156
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -383,7 +388,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:167
 #, c-format
 msgid ""
 "Written by %s, %s, %s,\n"
@@ -398,7 +403,7 @@ msgstr ""
 #. 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
+#: gnu/version-etc.c:245
 #, c-format
 msgid ""
 "\n"
@@ -407,22 +412,22 @@ msgstr ""
 "\n"
 "將錯誤通報給:%s\n"
 
-#: gnu/version-etc.c:249
+#: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
 msgstr "通報 %s 錯誤給:%s\n"
 
-#: gnu/version-etc.c:253
+#: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s 首頁:<%s>\n"
 
-#: gnu/version-etc.c:255
+#: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgstr "%s 首頁:<http://www.gnu.org/software/%s/>\n"
 
-#: gnu/version-etc.c:258
+#: gnu/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "使用 GNU 軟體的一般說明:<http://www.gnu.org/gethelp/>\n"
 
@@ -584,8 +589,8 @@ msgstr "未預期的引數"
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "操控磁帶機,從遠端行程接受命令"
 
-#: rmt/rmt.c:696 src/tar.c:454 src/tar.c:458 src/tar.c:628 src/tar.c:643
-#: src/tar.c:782 src/tar.c:820 tests/genfile.c:166
+#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
 msgid "NUMBER"
 msgstr "數目"
 
@@ -593,10 +598,11 @@ msgstr "數目"
 msgid "set debug level"
 msgstr "設定除錯等級"
 
-#: rmt/rmt.c:698 src/tar.c:452 src/tar.c:633 src/tar.c:709 src/tar.c:713
-#: src/tar.c:725 src/tar.c:735 src/tar.c:738 src/tar.c:741 src/tar.c:744
-#: src/tar.c:746 src/tar.c:837 tests/genfile.c:132 tests/genfile.c:180
-#: tests/genfile.c:184 tests/genfile.c:187 tests/genfile.c:193
+#: rmt/rmt.c:698 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
+#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
+#: tests/genfile.c:192 tests/genfile.c:198
 msgid "FILE"
 msgstr "檔案"
 
@@ -609,7 +615,7 @@ msgstr "設定除錯輸出檔案名稱"
 msgid "cannot open %s"
 msgstr "無法開啟 %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909
+#: rmt/rmt.c:780 tests/genfile.c:960 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "太多引數"
@@ -618,109 +624,109 @@ msgstr "太多引數"
 msgid "Garbage command"
 msgstr "無用的命令"
 
-#: src/buffer.c:458 src/buffer.c:463 src/buffer.c:757 src/buffer.c:1373
-#: src/buffer.c:1419 src/buffer.c:1448 src/delete.c:212 src/list.c:273
-#: src/update.c:188
+#: src/buffer.c:461 src/buffer.c:466 src/buffer.c:760 src/buffer.c:1396
+#: src/buffer.c:1433 src/buffer.c:1445 src/buffer.c:1474 src/delete.c:212
+#: src/list.c:275 src/update.c:188
 msgid "This does not look like a tar archive"
 msgstr "這個看起來不像 tar 封存"
 
-#: src/buffer.c:574
+#: src/buffer.c:577
 msgid "Total bytes read"
 msgstr "已讀取位元組總數"
 
-#: src/buffer.c:576
+#: src/buffer.c:579
 msgid "Total bytes written"
 msgstr "已寫入位元組總數"
 
-#: src/buffer.c:577
+#: src/buffer.c:580
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "已刪除位元組總數:%s\n"
 
-#: src/buffer.c:656
+#: src/buffer.c:659
 msgid "(pipe)"
 msgstr "(管線)"
 
-#: src/buffer.c:680
+#: src/buffer.c:683
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:682
+#: src/buffer.c:685
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:695
+#: src/buffer.c:698
 msgid "Invalid value for record_size"
 msgstr "無效的記錄大小"
 
-#: src/buffer.c:698
+#: src/buffer.c:701
 msgid "No archive name given"
 msgstr "沒有指定封存名稱"
 
-#: src/buffer.c:741
+#: src/buffer.c:744
 msgid "Cannot verify stdin/stdout archive"
 msgstr "無法檢驗標準輸出入封存"
 
-#: src/buffer.c:754
+#: src/buffer.c:757
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "封存被壓縮過。使用 %s 選項"
 
-#: src/buffer.c:812 src/tar.c:2541
+#: src/buffer.c:815 src/tar.c:2460
 msgid "Cannot update compressed archives"
 msgstr "無法更新壓縮的封存"
 
-#: src/buffer.c:905
+#: src/buffer.c:908
 msgid "At beginning of tape, quitting now"
 msgstr "位於磁帶起始部分,立刻退出"
 
-#: src/buffer.c:911
+#: src/buffer.c:914
 msgid "Too many errors, quitting"
 msgstr "太多錯誤,離開中"
 
-#: src/buffer.c:944
+#: src/buffer.c:947
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "記錄大小 = %lu 區塊"
 
-#: src/buffer.c:965
+#: src/buffer.c:968
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "封存中未排列的區塊 (%lu 位元組)"
 
-#: src/buffer.c:1042
+#: src/buffer.c:1055
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "無法倒退封存檔案;沒有 -i 也許會無法讀取"
 
-#: src/buffer.c:1074
+#: src/buffer.c:1087
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek 無法在記錄分界處停止"
 
-#: src/buffer.c:1125
+#: src/buffer.c:1148
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s:包含無效的卷冊號碼"
 
-#: src/buffer.c:1160
+#: src/buffer.c:1183
 msgid "Volume number overflow"
 msgstr "卷冊號碼已滿"
 
-#: src/buffer.c:1175
+#: src/buffer.c:1198
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "準備好卷冊 #%d 以完成 %s 並按下 return: "
 
-#: src/buffer.c:1181
+#: src/buffer.c:1204
 msgid "EOF where user reply was expected"
 msgstr "到達期待使用者回答的檔案末端"
 
-#: src/buffer.c:1186 src/buffer.c:1218
+#: src/buffer.c:1209 src/buffer.c:1241
 msgid "WARNING: Archive is incomplete"
 msgstr "警告:封存不完整"
 
-#: src/buffer.c:1200
+#: src/buffer.c:1223
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -731,71 +737,71 @@ msgstr ""
 " q             放棄打包\n"
 " y 或 newline  繼續作業\n"
 
-#: src/buffer.c:1205
+#: src/buffer.c:1228
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             衍生一個子命令殼\n"
 
-#: src/buffer.c:1206
+#: src/buffer.c:1229
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             列印這個清單\n"
 
-#: src/buffer.c:1213
+#: src/buffer.c:1236
 msgid "No new volume; exiting.\n"
 msgstr "沒有新卷冊;離開。\n"
 
-#: src/buffer.c:1246
+#: src/buffer.c:1269
 msgid "File name not specified. Try again.\n"
 msgstr "檔案名稱尚未指定。再次嘗試。\n"
 
-#: src/buffer.c:1259
+#: src/buffer.c:1282
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "無效的輸入。按下 ? 以獲得說明。\n"
 
-#: src/buffer.c:1310
+#: src/buffer.c:1333
 #, c-format
 msgid "%s command failed"
 msgstr "%s 命令失敗"
 
-#: src/buffer.c:1491
-#, c-format
-msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s 在本卷冊中可能連續:標頭含有截斷的名稱"
-
-#: src/buffer.c:1495
+#: src/buffer.c:1511 src/buffer.c:1527
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s 在本卷冊中並不連續"
 
-#: src/buffer.c:1509
+#: src/buffer.c:1523
+#, c-format
+msgid "%s is possibly continued on this volume: header contains truncated name"
+msgstr "%s 在本卷冊中可能連續:標頭含有截斷的名稱"
+
+#: src/buffer.c:1541
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s 的大小有錯 (%s != %s + %s)"
 
-#: src/buffer.c:1524
+#: src/buffer.c:1556
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "本卷冊已超出序列 (%s - %s !=%s)"
 
-#: src/buffer.c:1602 src/buffer.c:1628
+#: src/buffer.c:1634 src/buffer.c:1660
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "封存未標誌為符合 %s"
 
-#: src/buffer.c:1632
+#: src/buffer.c:1664
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "卷冊 %s 不符合 %s"
 
-#: src/buffer.c:1726
+#: src/buffer.c:1758
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr "%s:檔名太長,無法儲存於 GNU 多重卷冊標頭之中,已截斷"
 
-#: src/buffer.c:1917
+#: src/buffer.c:1949
 msgid "write did not end on a block boundary"
 msgstr "並未於區段界限結束寫入"
 
@@ -805,20 +811,20 @@ 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:106 src/compare.c:391
+#: src/compare.c:106 src/compare.c:395
 msgid "Contents differ"
 msgstr "內容不同"
 
-#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1505 src/list.c:487
-#: src/list.c:1426 src/xheader.c:837
+#: src/compare.c:132 src/extract.c:1177 src/incremen.c:1508 src/list.c:489
+#: src/list.c:1405 src/xheader.c:847
 msgid "Unexpected EOF in archive"
 msgstr "未預期的封存結尾"
 
-#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:415
+#: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:419
 msgid "File type differs"
 msgstr "檔案類型不同"
 
-#: src/compare.c:183 src/compare.c:203 src/compare.c:324
+#: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
 msgstr "模式不同"
 
@@ -834,7 +840,7 @@ msgstr "Gid 號碼不同"
 msgid "Mod time differs"
 msgstr "修改時間不同"
 
-#: src/compare.c:216 src/compare.c:425
+#: src/compare.c:216 src/compare.c:429
 msgid "Size differs"
 msgstr "大小不同"
 
@@ -843,136 +849,136 @@ msgstr "大小不同"
 msgid "Not linked to %s"
 msgstr "並未鏈結至 %s"
 
-#: src/compare.c:289
+#: src/compare.c:290
 msgid "Symlink differs"
 msgstr "符號連結不同"
 
-#: src/compare.c:318
+#: src/compare.c:322
 msgid "Device number differs"
 msgstr "裝置編號不同"
 
-#: src/compare.c:466
+#: src/compare.c:470
 #, c-format
 msgid "Verify "
 msgstr "驗證 "
 
-#: src/compare.c:473
+#: src/compare.c:477
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s:不明檔案類型 %c,會以普通檔案的方式作比較"
 
-#: src/compare.c:529
+#: src/compare.c:533
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "封存包含前置文字被移除的檔案名稱。"
 
-#: src/compare.c:535
+#: src/compare.c:539
 msgid "Archive contains transformed file names."
 msgstr "封存含有變換過的檔案名稱。"
 
-#: src/compare.c:540
+#: src/compare.c:544
 msgid "Verification may fail to locate original files."
 msgstr "查核動作可能無法找到原始檔案"
 
-#: src/compare.c:614
+#: src/compare.c:618
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "驗證失敗:%d 偵測到無效的標頭"
 
-#: src/compare.c:632 src/list.c:250
+#: src/compare.c:636 src/list.c:252
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "位於 %s 的孤立零值區塊"
 
-#: src/create.c:73
+#: src/create.c:74
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s:包含一個快取目錄標記 %s; %s"
 
-#: src/create.c:262
+#: src/create.c:263
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "數值 %s 已超出 %s 的範圍 %s..%s;以 %s 替代中"
 
-#: src/create.c:268
+#: src/create.c:269
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "數值 %s 已超出 %s 的範圍 %s..%s"
 
-#: src/create.c:328
+#: src/create.c:329
 msgid "Generating negative octal headers"
 msgstr "正在產生負數的八進位標頭"
 
-#: src/create.c:601 src/create.c:664
+#: src/create.c:602 src/create.c:665
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s:檔名太長 (最大 %d);未傾印"
 
-#: src/create.c:611
+#: src/create.c:612
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s:檔名太長 (無法分割);未傾印"
 
-#: src/create.c:638
+#: src/create.c:639
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s:鏈結名稱太長;未傾印"
 
-#: src/create.c:1084
+#: src/create.c:1102
 #, 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:1182
+#: src/create.c:1200
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s:檔案位於不同的檔案系統;未傾印"
 
-#: src/create.c:1225 src/create.c:1236 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1243 src/create.c:1254 src/incremen.c:610 src/incremen.c:617
 msgid "contents not dumped"
 msgstr "內容無法傾印"
 
-#: src/create.c:1440
+#: src/create.c:1458
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s:不明檔案類型;忽略該檔案"
 
-#: src/create.c:1551
+#: src/create.c:1569
 #, c-format
 msgid "Missing links to %s."
 msgstr "缺少連結到 %s。"
 
-#: src/create.c:1712
+#: src/create.c:1730
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s:檔案沒有變更;未傾印"
 
-#: src/create.c:1721
+#: src/create.c:1739
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s:檔案是封存;未傾印"
 
-#: src/create.c:1749 src/incremen.c:603
+#: src/create.c:1767 src/incremen.c:603
 msgid "directory not dumped"
 msgstr "目錄未傾印"
 
-#: src/create.c:1821
+#: src/create.c:1839
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s:檔案在讀取時已變更"
 
-#: src/create.c:1902
+#: src/create.c:1915
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s:忽略通訊端"
 
-#: src/create.c:1908
+#: src/create.c:1921
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s:忽略匣門"
 
-#: src/delete.c:218 src/list.c:287 src/update.c:193
+#: src/delete.c:218 src/list.c:289 src/update.c:193
 msgid "Skipping to next header"
 msgstr "跳至下一個標頭"
 
@@ -990,54 +996,54 @@ msgstr "%s:難以確信的舊時間戳記 %s"
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s:時間戳記 %s 代表未來的 %s 秒"
 
-#: src/extract.c:536
+#: src/extract.c:535
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s:產生目錄時有未預期的不一致"
 
-#: src/extract.c:705
+#: src/extract.c:754
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
 
-#: src/extract.c:821
+#: src/extract.c:870
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr "%s:解開目錄狀態之前已更改了名稱"
 
-#: src/extract.c:1010
+#: src/extract.c:1055
 msgid "Extracting contiguous files as regular files"
 msgstr "正在解開連續檔案為正常檔案"
 
-#: src/extract.c:1365
+#: src/extract.c:1410
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "嘗試解開符號連結為硬式連結"
 
-#: src/extract.c:1528
+#: src/extract.c:1573
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s:無法解開 -- 檔案延續自其他卷冊"
 
-#: src/extract.c:1535 src/list.c:1167
+#: src/extract.c:1580 src/list.c:1168
 msgid "Unexpected long name header"
 msgstr "未預期的長名稱標頭"
 
-#: src/extract.c:1542
+#: src/extract.c:1587
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr "%s:不明檔案類型 %c,會以普通檔案的方式解開資料"
 
-#: src/extract.c:1568
+#: src/extract.c:1613
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "目前的 %s 較新或相同"
 
-#: src/extract.c:1620
+#: src/extract.c:1665
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s:之前無法備份這個檔案"
 
-#: src/extract.c:1767
+#: src/extract.c:1814
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "無法將 %s 重新命名為 %s"
@@ -1088,215 +1094,216 @@ msgstr "無效的 inode 號碼"
 msgid "%s: byte %s: %s %.*s... too long"
 msgstr ""
 
-#: src/incremen.c:1153 src/incremen.c:1208 src/incremen.c:1270
+#: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
 msgstr "未預期的快照檔結尾"
 
-#: src/incremen.c:1159
+#: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
 msgstr ""
 
-#: src/incremen.c:1171
+#: src/incremen.c:1174
 #, c-format
 msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
 
-#: src/incremen.c:1178
+#: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
 msgstr ""
 
-#: src/incremen.c:1259
+#: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
 msgstr ""
 
-#: src/incremen.c:1262
+#: src/incremen.c:1265
 msgid "Missing record terminator"
 msgstr "缺少記錄終止符號"
 
-#: src/incremen.c:1368 src/incremen.c:1371
+#: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
 msgstr "不當的遞增檔案格式"
 
-#: src/incremen.c:1390
+#: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "不受支援的遞增格式版本:%<PRIuMAX>"
 
-#: src/incremen.c:1545
+#: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "異常的傾印目錄:預期 %c 但是找到 %#3o"
 
-#: src/incremen.c:1555
+#: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "異常的傾印目錄:X 重製"
 
-#: src/incremen.c:1568
+#: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "異常的傾印目錄:在 R 中有空的名稱"
 
-#: src/incremen.c:1581
-msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+#: src/incremen.c:1585
+#, fuzzy
+msgid "Malformed dumpdir: 'T' not preceded by 'R'"
 msgstr "異常的傾印目錄:R 未在 T 之前"
 
-#: src/incremen.c:1587
+#: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "異常的傾印目錄:在 T 中有空的名稱"
 
-#: src/incremen.c:1607
+#: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "異常的傾印目錄:預期 %c 但是發現資料的結束"
 
-#: src/incremen.c:1614
+#: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "異常的傾印目錄:X 永不使用"
 
-#: src/incremen.c:1658
+#: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "無法使用模板 %s 建立暫存目錄"
 
-#: src/incremen.c:1719
+#: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s:未能清空目錄;無法顯示狀態"
 
-#: src/incremen.c:1732
+#: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s:目錄位於不同的裝置;無法清空"
 
-#: src/incremen.c:1740
+#: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s:正在刪除 %s\n"
 
-#: src/incremen.c:1745
+#: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s:無法移除"
 
-#: src/list.c:217
+#: src/list.c:219
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s:省略中"
 
-#: src/list.c:235
+#: src/list.c:237
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "區塊 %s:** 空值區塊 **\n"
 
-#: src/list.c:261
+#: src/list.c:263
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "區塊 %s:** 檔案結尾 **\n"
 
-#: src/list.c:284 src/list.c:1136 src/list.c:1394
+#: src/list.c:286 src/list.c:1137 src/list.c:1373
 #, c-format
 msgid "block %s: "
 msgstr "區塊 %s:"
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, 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:806
+#: src/list.c:807
 #, 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:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "封存八進位數值 %.*s 超出 %s 範圍"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "封存含有過時的 base-64 標頭"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "封存有號 base-64 字串 %s 超出 %s 範圍"
 
-#: src/list.c:883
+#: src/list.c:884
 #, 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:912
+#: src/list.c:913
 #, 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:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "封存值 %s 已超出 %s 的範圍 %s..%s"
 
-#: src/list.c:1294
+#: src/list.c:1273
 #, c-format
 msgid " link to %s\n"
 msgstr " 連結到 %s\n"
 
-#: src/list.c:1302
+#: src/list.c:1281
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " 不明檔案類型 %s\n"
 
-#: src/list.c:1320
+#: src/list.c:1299
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--長 連 結--\n"
 
-#: src/list.c:1324
+#: src/list.c:1303
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--長 名 稱--\n"
 
-#: src/list.c:1328
+#: src/list.c:1307
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--卷 冊 標 頭--\n"
 
-#: src/list.c:1336
+#: src/list.c:1315
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--於第 %s 位元組繼續--\n"
 
-#: src/list.c:1399
+#: src/list.c:1378
 msgid "Creating directory:"
 msgstr "正在建立目錄:"
 
-#: src/misc.c:726
+#: src/misc.c:733
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "正在將 %s 重新命名為 %s\n"
 
-#: src/misc.c:735 src/misc.c:754
+#: src/misc.c:742 src/misc.c:761
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s:無法重新命名為 %s"
 
-#: src/misc.c:759
+#: src/misc.c:766
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "將 %s 的名稱還原為 %s\n"
 
-#: src/misc.c:1101
+#: src/misc.c:1108
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s:讀取檔案之前已被移除"
@@ -1309,81 +1316,236 @@ msgstr "子行程"
 msgid "interprocess channel"
 msgstr "行程間通道"
 
-#: src/names.c:360
+#: src/names.c:68
+#, fuzzy
+msgid "Local file name selection:"
+msgstr "本機檔案選擇:"
+
+#: src/names.c:71
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr "將給定的 FILE 加入封存 (如果它的名稱以減號開始時就很有用)"
+
+#: src/names.c:72 src/tar.c:484
+msgid "DIR"
+msgstr "目錄"
+
+#: src/names.c:73
+msgid "change to directory DIR"
+msgstr "更改至目錄 DIR"
+
+#: src/names.c:75
+msgid "get names to extract or create from FILE"
+msgstr "從 FILE 中取得要解開或建立的名稱"
+
+#: src/names.c:77
+#, fuzzy
+msgid "-T reads null-terminated names; implies --verbatim-files-from"
+msgstr "-T 讀取零值終結的名稱,停用 -C"
+
+#: src/names.c:80
+msgid "disable the effect of the previous --null option"
+msgstr "停用先前 --null 選項的效果"
+
+#: src/names.c:82
+#, fuzzy
+msgid "unquote input file or member names (default)"
+msgstr "去除以 -T 讀取的檔名引號 (預設)"
+
+#: src/names.c:84
+#, fuzzy
+msgid "do not unquote input file or member names"
+msgstr "不去除以 -T 讀取的檔名引號"
+
+#: src/names.c:86
+msgid "-T reads file names verbatim (no option handling)"
+msgstr ""
+
+#: src/names.c:88
+msgid "-T treats file names starting with dash as options (default)"
+msgstr ""
+
+#: src/names.c:90 tests/genfile.c:140
+msgid "PATTERN"
+msgstr "胚騰"
+
+#: src/names.c:91
+msgid "exclude files, given as a PATTERN"
+msgstr "排除給定胚騰的檔案"
+
+#: src/names.c:93
+msgid "exclude patterns listed in FILE"
+msgstr "排除 FILE 中所列出的胚騰"
+
+#: src/names.c:95
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr "排除包含 CACHEDIR.TAG 的目錄內容,除了該標記檔案本身"
+
+#: src/names.c:98
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "排除包含 CACHEDIR.TAG 的目錄之下所有東西"
+
+#: src/names.c:101
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "排除包含 CACHEDIR.TAG 的目錄"
+
+#: src/names.c:103
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr "排除包含 FILE 的目錄內容,除了該檔案本身"
+
+#: src/names.c:106
+msgid "read exclude patterns for each directory from FILE, if it exists"
+msgstr ""
+
+#: src/names.c:109
+msgid ""
+"read exclude patterns for each directory and its subdirectories from FILE, "
+"if it exists"
+msgstr ""
+
+#: src/names.c:112
+msgid "exclude everything under directories containing FILE"
+msgstr "排除包含 FILE 的目錄之下所有東西"
+
+#: src/names.c:114
+msgid "exclude directories containing FILE"
+msgstr "排除包含 FILE 的目錄"
+
+#: src/names.c:116
+msgid "exclude version control system directories"
+msgstr "排除版本控制系統目錄"
+
+#: src/names.c:118
+msgid "read exclude patterns from the VCS ignore files"
+msgstr ""
+
+#: src/names.c:120
+msgid "exclude backup and lock files"
+msgstr "排除備份和鎖定檔案"
+
+#: src/names.c:122
+msgid "recurse into directories (default)"
+msgstr "遞迴進入目錄 (預設)"
+
+#: src/names.c:124
+msgid "avoid descending automatically in directories"
+msgstr "避免自動在目錄中遞降"
+
+#: src/names.c:129
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr "檔案名稱吻合選項 (同時影響排除和包含胚騰同者):"
+
+#: src/names.c:132
+msgid "patterns match file name start"
+msgstr "吻合檔案名稱開頭的胚騰"
+
+#: src/names.c:134
+#, fuzzy
+msgid "patterns match after any '/' (default for exclusion)"
+msgstr "胚騰吻合任何 / 之後的胚騰 (預設排除)"
+
+#: src/names.c:136
+msgid "ignore case"
+msgstr "忽略大小寫"
+
+#: src/names.c:138
+msgid "case sensitive matching (default)"
+msgstr "大小寫需相符的吻合 (預設)"
+
+#: src/names.c:140
+msgid "use wildcards (default for exclusion)"
+msgstr "使用萬用字元 (預設排除)"
+
+#: src/names.c:142
+msgid "verbatim string matching"
+msgstr "逐字進行吻合"
+
+#: src/names.c:144
+#, fuzzy
+msgid "wildcards match '/' (default for exclusion)"
+msgstr "萬用字元會吻合 / (預設排除)"
+
+#: src/names.c:146
+#, fuzzy
+msgid "wildcards do not match '/'"
+msgstr "萬用字元不會吻合 /"
+
+#: src/names.c:768
 #, fuzzy
 msgid "command line"
 msgstr "%s 命令失敗"
 
-#: src/names.c:378
+#: src/names.c:786
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s:已經讀取檔案清單"
 
-#: src/names.c:448 src/checkpoint.c:274
+#: src/names.c:867 src/checkpoint.c:274
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "無法設定時間為 %s"
 
-#: src/names.c:490
+#: src/names.c:914
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s:所讀檔案名稱含有空值字元"
 
-#: src/names.c:824
+#: src/names.c:1242
 msgid "Pattern matching characters used in file names"
 msgstr "用於檔案名稱的胚騰匹配字元"
 
-#: src/names.c:826
+#: src/names.c:1244
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr "使用 --wildcards 以啟用胚騰匹配,或 --no-wildcards 以抑制這個警告"
 
-#: src/names.c:844 src/names.c:860
+#: src/names.c:1262 src/names.c:1278
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s:在封存中找不到"
 
-#: src/names.c:845
+#: src/names.c:1263
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s:要求項目在封存中找不到"
 
-#: src/names.c:879
+#: src/names.c:1297
 #, c-format
 msgid "Archive label mismatch"
 msgstr "封存標貼不匹配"
 
-#: src/names.c:1183
+#: src/names.c:1601
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr "於檔案清單內部使用 -C 選項是不允許與 --listed-incremental 共用"
 
-#: src/names.c:1189
+#: src/names.c:1607
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "只有一個 -C 選項是允許與 --listed-incremental 共用"
 
-#: src/tar.c:87
+#: src/tar.c:88
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "選項 -%s 和 -%s 兩者都需要標準輸入"
 
-#: src/tar.c:164
+#: src/tar.c:165
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s:無效的封存格式"
 
-#: src/tar.c:196
+#: src/tar.c:197
 msgid "GNU features wanted on incompatible archive format"
 msgstr "不能在不兼容的封存格式中使用 GNU 功能"
 
-#: src/tar.c:264
+#: src/tar.c:265
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr "不明引號樣式 %s 。嘗試 %s --quoting-style=help 以取得清單。"
 
-#: src/tar.c:378
+#: src/tar.c:354
 #, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
@@ -1402,7 +1564,7 @@ msgstr ""
 "  tar -tvf archive.tar         # 詳細列出 archive.tar 中的所有檔案。\n"
 "  tar -xf archive.tar          # 解開 archive.tar 中的所有檔案。\n"
 
-#: src/tar.c:387
+#: src/tar.c:363
 #, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1422,79 +1584,87 @@ msgstr ""
 "  nil, existing   若有數字的備份檔已經存在則使用數字,否則使用普通方式備份\n"
 "  never, simple   永遠使用普通方式備份\n"
 
-#: src/tar.c:417
+#: src/tar.c:393
 msgid "Main operation mode:"
 msgstr "主要操作模式:"
 
-#: src/tar.c:420
+#: src/tar.c:396
 msgid "list the contents of an archive"
 msgstr "列出封存的內容"
 
-#: src/tar.c:422
+#: src/tar.c:398
 msgid "extract files from an archive"
 msgstr "從封存中解開檔案"
 
-#: src/tar.c:425
+#: src/tar.c:401
 msgid "create a new archive"
 msgstr "建立新的封存"
 
-#: src/tar.c:427
+#: src/tar.c:403
 msgid "find differences between archive and file system"
 msgstr "在封存與檔案系統之間找出差異"
 
-#: src/tar.c:430
+#: src/tar.c:406
 msgid "append files to the end of an archive"
 msgstr "加入檔案到封存末端"
 
-#: src/tar.c:432
+#: src/tar.c:408
 msgid "only append files newer than copy in archive"
 msgstr "只加入比封存中複本還新的檔案"
 
-#: src/tar.c:434
+#: src/tar.c:410
 msgid "append tar files to an archive"
 msgstr "加入 tar 檔案到封存中"
 
-#: src/tar.c:437
+#: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "從封存中刪除 (並非在磁帶上!)"
 
-#: src/tar.c:439
+#: src/tar.c:415
 msgid "test the archive volume label and exit"
 msgstr "測試封存卷冊標籤然後離開"
 
-#: src/tar.c:444
+#: src/tar.c:420
 msgid "Operation modifiers:"
 msgstr "運算變更項:"
 
-#: src/tar.c:447
+#: src/tar.c:423
 msgid "handle sparse files efficiently"
 msgstr "有效率地處理稀疏檔案"
 
-#: src/tar.c:448
+#: src/tar.c:424
+msgid "TYPE"
+msgstr ""
+
+#: src/tar.c:425
+msgid "technique to detect holes"
+msgstr ""
+
+#: src/tar.c:426
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:449
+#: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "設定稀疏格式版本以使用 (意味著 --sparse)"
 
-#: src/tar.c:451
+#: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
 msgstr "處理舊型 GNU-格式之遞增備份"
 
-#: src/tar.c:453
+#: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
 msgstr "處理新型 GNU-格式之遞增備份"
 
-#: src/tar.c:455
+#: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
 msgstr "用於建立 listed-incremental 封存的傾印等級"
 
-#: src/tar.c:457
+#: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
 msgstr "離開無法讀取的檔案時不要回傳非零的值"
 
-#: src/tar.c:459
+#: src/tar.c:437
 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, --"
@@ -1505,138 +1675,147 @@ msgstr ""
 "diff、--extract 或 --list 等次命令之一合併使用時才有效,而且要經由命令列或是 "
 "-T 選項來提供一個檔案序列。預設的數目是 1。"
 
-#: src/tar.c:465
+#: src/tar.c:443
 msgid "archive is seekable"
 msgstr "封存是可尋指的"
 
-#: src/tar.c:467
+#: src/tar.c:445
 msgid "archive is not seekable"
 msgstr "封存不是可尋指的"
 
-#: src/tar.c:469
+#: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr "不檢查裝置數量時建立遞增檔案"
 
-#: src/tar.c:472
+#: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr "檢查裝置數量時建立遞增檔案 (預設)"
 
-#: src/tar.c:478
+#: src/tar.c:456
 msgid "Overwrite control:"
 msgstr "覆寫控制:"
 
-#: src/tar.c:481
+#: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
 msgstr "嘗試在寫入之後驗證封存"
 
-#: src/tar.c:483
+#: src/tar.c:461
 msgid "remove files after adding them to the archive"
 msgstr "在加入檔案至封存之後移除它們"
 
-#: src/tar.c:485
+#: src/tar.c:463
 #, fuzzy
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr "解開時不要替換既有的檔案"
 
-#: src/tar.c:488
+#: src/tar.c:466
 #, fuzzy
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr "解開時不要替換既有的檔案"
 
-#: src/tar.c:491
+#: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "不要替換既有且比它們在封存中複本還新的檔案"
 
-#: src/tar.c:493
+#: src/tar.c:471
 msgid "overwrite existing files when extracting"
 msgstr "解開時覆寫既有檔案"
 
-#: src/tar.c:495
+#: src/tar.c:473
 msgid "remove each file prior to extracting over it"
 msgstr "在解開並覆寫檔案之前先移除它"
 
-#: src/tar.c:497
+#: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
 msgstr "在解開目錄之前先清空階層結構"
 
-#: src/tar.c:499
+#: src/tar.c:477
 msgid "preserve metadata of existing directories"
 msgstr "保留既有目錄的後設資料"
 
-#: src/tar.c:501
+#: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "解開時覆寫既有目錄的後設資料 (預設)"
 
-#: src/tar.c:504
+#: src/tar.c:482
 #, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
 msgstr "解開時覆寫既有檔案"
 
-#: src/tar.c:506 src/tar.c:711
-msgid "DIR"
-msgstr "目錄"
-
-#: src/tar.c:507
+#: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:491
 msgid "Select output stream:"
 msgstr "選取輸出串流:"
 
-#: src/tar.c:516
+#: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "解開檔案到標準輸出"
 
-#: src/tar.c:517 src/tar.c:606 src/tar.c:608 tests/genfile.c:190
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
 msgid "COMMAND"
 msgstr "命令"
 
-#: src/tar.c:518
+#: src/tar.c:496
 msgid "pipe extracted files to another program"
 msgstr "將解開的檔案管線引導到另外的程式"
 
-#: src/tar.c:520
+#: src/tar.c:498
 msgid "ignore exit codes of children"
 msgstr "忽略子行程的離開代碼"
 
-#: src/tar.c:522
+#: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
 msgstr "將子行程的非零離開代碼視為錯誤"
 
-#: src/tar.c:527
+#: src/tar.c:505
 msgid "Handling of file attributes:"
 msgstr "檔案屬性的處理:"
 
-#: src/tar.c:530
+#: src/tar.c:508
 msgid "force NAME as owner for added files"
 msgstr "強制以 NAME 做為加入檔案的擁有者"
 
-#: src/tar.c:532
+#: src/tar.c:510
 msgid "force NAME as group for added files"
 msgstr "強制以 NAME 做為加入檔案的群組"
 
-#: src/tar.c:533 src/tar.c:768
+#: src/tar.c:512
+msgid "use FILE to map file owner UIDs and names"
+msgstr ""
+
+#: src/tar.c:514
+msgid "use FILE to map file owner GIDs and names"
+msgstr ""
+
+#: src/tar.c:515 src/tar.c:700
 msgid "DATE-OR-FILE"
 msgstr "檔案的日期"
 
-#: src/tar.c:534
+#: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "將加入檔案的 mtime 設定為 DATE-OR-FILE"
 
-#: src/tar.c:535
+#: src/tar.c:518
+msgid ""
+"only set time when the file is more recent than what was given with --mtime"
+msgstr ""
+
+#: src/tar.c:519
 msgid "CHANGES"
 msgstr "變更"
 
-#: src/tar.c:536
+#: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "強制將 (符號) 模式 CHANGES 用於已加入檔案"
 
-#: src/tar.c:538
+#: src/tar.c:522
 msgid "METHOD"
 msgstr "方法"
 
-#: src/tar.c:539
+#: src/tar.c:523
 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 "
@@ -1645,231 +1824,227 @@ msgstr ""
 "保留傾印檔案的存取時間,若非由讀取之後的回復時間(方法='replace';預設),就是"
 "藉由原本不設定時間 (方法='system')"
 
-#: src/tar.c:543
+#: src/tar.c:527
 msgid "don't extract file modified time"
 msgstr "不要解開檔案的修改時間"
 
-#: src/tar.c:545
+#: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr "嘗試以與存在於封存中的相同擁有屬性來抽出檔案 (預設用於系統管理者)"
 
-#: src/tar.c:547
+#: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
 msgstr "以您自己擁有的屬性來抽出檔案 (預設用於一般使用者)"
 
-#: src/tar.c:549
+#: src/tar.c:533
 msgid "always use numbers for user/group names"
 msgstr "總是使用數字做為使用者/群組名稱"
 
-#: src/tar.c:551
+#: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr "解開檔案權限相關資訊 (預設用於超級使用者)"
 
-#: src/tar.c:555
+#: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr "從封存解開權限時套用使用者 umask (預設用於一般使用者)"
 
-#: src/tar.c:557
+#: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
 
-#: src/tar.c:561
-msgid "same as both -p and -s"
-msgstr "等同於指定 -p 與 -s"
-
-#: src/tar.c:563
+#: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr "延遲設定解開目錄的修改時間和權限,直到解開結束"
 
-#: src/tar.c:566
+#: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "取消 --delay-directory-restore 選項的效果"
 
-#: src/tar.c:567
+#: src/tar.c:549
 msgid "ORDER"
 msgstr ""
 
-#: src/tar.c:571
+#: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
 msgstr ""
 
-#: src/tar.c:578
+#: src/tar.c:560
 #, fuzzy
 msgid "Handling of extended file attributes:"
 msgstr "檔案屬性的處理:"
 
-#: src/tar.c:581
+#: src/tar.c:563
 msgid "Enable extended attributes support"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:565
 msgid "Disable extended attributes support"
 msgstr ""
 
-#: src/tar.c:584 src/tar.c:586
+#: src/tar.c:566 src/tar.c:568
 msgid "MASK"
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
 msgstr ""
 
-#: src/tar.c:589
+#: src/tar.c:571
 msgid "Enable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:591
+#: src/tar.c:573
 msgid "Disable the SELinux context support"
 msgstr ""
 
-#: src/tar.c:593
+#: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:595
+#: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
 msgstr ""
 
-#: src/tar.c:600
+#: src/tar.c:582
 msgid "Device selection and switching:"
 msgstr "裝置選擇與切換:"
 
-#: src/tar.c:602
+#: src/tar.c:584
 msgid "ARCHIVE"
 msgstr "封存"
 
-#: src/tar.c:603
+#: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
 msgstr "使用 ARCHIVE 檔案或 ARCHIVE 裝置"
 
-#: src/tar.c:605
+#: src/tar.c:587
 msgid "archive file is local even if it has a colon"
 msgstr "即使具有冒號,封存檔案仍位於本地端"
 
-#: src/tar.c:607
+#: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "使用給定的 rmt COMMAND 以代替 rmt"
 
-#: src/tar.c:609
+#: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
 msgstr "使用遠端 COMMAND 以代替 rsh"
 
-#: src/tar.c:613
+#: src/tar.c:595
 msgid "specify drive and density"
 msgstr "指定磁碟機與記錄密度"
 
-#: src/tar.c:627
+#: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
 msgstr "建立/列表/解開 多重卷冊的封存"
 
-#: src/tar.c:629
+#: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "在寫入 NUMBER x 1024 位元組之後更換磁帶"
 
-#: src/tar.c:631
+#: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
 msgstr "在每卷磁帶末端執行命令稿 (意指 -M)"
 
-#: src/tar.c:634
+#: src/tar.c:616
 msgid "use/update the volume number in FILE"
 msgstr "使用/更新 FILE 中的卷冊號碼"
 
-#: src/tar.c:639
+#: src/tar.c:621
 msgid "Device blocking:"
 msgstr "裝置分區:"
 
-#: src/tar.c:641
+#: src/tar.c:623
 msgid "BLOCKS"
 msgstr "區塊"
 
-#: src/tar.c:642
+#: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
 msgstr "每筆記錄含有 BLOCKS x 512 位元組"
 
-#: src/tar.c:644
+#: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "每筆記錄 SIZE 位元組,為 512 的倍數"
 
-#: src/tar.c:646
+#: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "忽略封存中零值的區塊 (意指 EOF)"
 
-#: src/tar.c:648
+#: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "讀取時重新分區 (用於 4.2BSD 管線)"
 
-#: src/tar.c:653
+#: src/tar.c:635
 msgid "Archive format selection:"
 msgstr "封存格式選擇:"
 
-#: src/tar.c:655 tests/genfile.c:153
+#: src/tar.c:637 tests/genfile.c:158
 msgid "FORMAT"
 msgstr "格式"
 
-#: src/tar.c:656
+#: src/tar.c:638
 msgid "create archive of the given format"
 msgstr "以給定格式建立封存"
 
-#: src/tar.c:658
+#: src/tar.c:640
 msgid "FORMAT is one of the following:"
 msgstr "符合下列任一 FORMAT:"
 
-#: src/tar.c:659
+#: src/tar.c:641
 msgid "old V7 tar format"
 msgstr "舊式 V7 tar 格式"
 
-#: src/tar.c:662
+#: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
 msgstr "tar <= 1.12 之 GNU 格式"
 
-#: src/tar.c:664
+#: src/tar.c:646
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x 格式"
 
-#: src/tar.c:666
+#: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) 格式"
 
-#: src/tar.c:668
+#: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) 格式"
 
-#: src/tar.c:669
+#: src/tar.c:651
 msgid "same as pax"
 msgstr "等同 pax"
 
-#: src/tar.c:672
+#: src/tar.c:654
 msgid "same as --format=v7"
 msgstr "等同 --format=v7"
 
-#: src/tar.c:675
+#: src/tar.c:657
 msgid "same as --format=posix"
 msgstr "等同 --format=posix"
 
-#: src/tar.c:676
+#: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "關鍵字[[:]=值][,關鍵字[[:]=值]…]"
 
-#: src/tar.c:677
+#: src/tar.c:659
 msgid "control pax keywords"
 msgstr "控制 pax 的關鍵字"
 
-#: src/tar.c:678
+#: src/tar.c:660
 msgid "TEXT"
 msgstr "文字"
 
-#: src/tar.c:679
+#: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1877,179 +2052,81 @@ msgstr ""
 "以卷冊名稱 NAME 來建立封存。在列表/解開時,使用 TEXT 做為卷冊名稱的萬用比對胚"
 "騰"
 
-#: src/tar.c:684
+#: src/tar.c:666
 msgid "Compression options:"
 msgstr "壓縮選項:"
 
-#: src/tar.c:686
+#: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
 msgstr "利用封存字尾決定壓縮程式"
 
-#: src/tar.c:688
+#: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
 msgstr "不利用封存字尾決定壓縮程式"
 
-#: src/tar.c:690
+#: src/tar.c:672
 msgid "PROG"
 msgstr "程式"
 
-#: src/tar.c:691
+#: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
 msgstr "以 PROG 過濾處理 (必須接受 -d)"
 
-#: src/tar.c:707
+#: src/tar.c:689
 msgid "Local file selection:"
 msgstr "本機檔案選擇:"
 
-#: src/tar.c:710
-msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr "將給定的 FILE 加入封存 (如果它的名稱以減號開始時就很有用)"
-
-#: src/tar.c:712
-msgid "change to directory DIR"
-msgstr "更改至目錄 DIR"
-
-#: src/tar.c:714
-msgid "get names to extract or create from FILE"
-msgstr "從 FILE 中取得要解開或建立的名稱"
-
-#: src/tar.c:716
-msgid "-T reads null-terminated names, disable -C"
-msgstr "-T 讀取零值終結的名稱,停用 -C"
-
-#: src/tar.c:718
-msgid "disable the effect of the previous --null option"
-msgstr "停用先前 --null 選項的效果"
-
-#: src/tar.c:720
-#, fuzzy
-msgid "unquote input file or member names (default)"
-msgstr "去除以 -T 讀取的檔名引號 (預設)"
-
-#: src/tar.c:722
-#, fuzzy
-msgid "do not unquote input file or member names"
-msgstr "不去除以 -T 讀取的檔名引號"
-
-#: src/tar.c:723 tests/genfile.c:136
-msgid "PATTERN"
-msgstr "胚騰"
-
-#: src/tar.c:724
-msgid "exclude files, given as a PATTERN"
-msgstr "排除給定胚騰的檔案"
-
-#: src/tar.c:726
-msgid "exclude patterns listed in FILE"
-msgstr "排除 FILE 中所列出的胚騰"
-
-#: src/tar.c:728
-msgid ""
-"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
-"file itself"
-msgstr "排除包含 CACHEDIR.TAG 的目錄內容,除了該標記檔案本身"
-
-#: src/tar.c:731
-msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "排除包含 CACHEDIR.TAG 的目錄之下所有東西"
-
-#: src/tar.c:734
-msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "排除包含 CACHEDIR.TAG 的目錄"
-
-#: src/tar.c:736
-msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "排除包含 FILE 的目錄內容,除了該檔案本身"
-
-#: src/tar.c:739
-msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
-
-#: src/tar.c:742
-msgid ""
-"read exclude patterns for each directory and its subdirectories from FILE, "
-"if it exists"
-msgstr ""
-
-#: src/tar.c:745
-msgid "exclude everything under directories containing FILE"
-msgstr "排除包含 FILE 的目錄之下所有東西"
-
-#: src/tar.c:747
-msgid "exclude directories containing FILE"
-msgstr "排除包含 FILE 的目錄"
-
-#: src/tar.c:749
-msgid "exclude version control system directories"
-msgstr "排除版本控制系統目錄"
-
-#: src/tar.c:751
-msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
-
-#: src/tar.c:753
-msgid "exclude backup and lock files"
-msgstr "排除備份和鎖定檔案"
-
-#: src/tar.c:755
-msgid "avoid descending automatically in directories"
-msgstr "避免自動在目錄中遞降"
-
-#: src/tar.c:757
+#: src/tar.c:691
 msgid "stay in local file system when creating archive"
 msgstr "建立封存時保持在本地檔案系統中"
 
-#: src/tar.c:759
-msgid "recurse into directories (default)"
-msgstr "遞迴進入目錄 (預設)"
-
-#: src/tar.c:761
+#: src/tar.c:693
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "不要從檔案名稱中截去前導的 '/'"
 
-#: src/tar.c:763
+#: src/tar.c:695
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "跟隨符號連結;封存和傾印它們所指涉的檔案"
 
-#: src/tar.c:765
+#: src/tar.c:697
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "跟隨硬式連結;封存和傾印它們所參考的檔案"
 
-#: src/tar.c:766
+#: src/tar.c:698
 msgid "MEMBER-NAME"
 msgstr "成員-名稱"
 
-#: src/tar.c:767
+#: src/tar.c:699
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "從封存中名為 MEMBER-NAME 的成員開始"
 
-#: src/tar.c:769
+#: src/tar.c:701
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "只儲存比 DATE-OF-FILE 還新的檔案"
 
-#: src/tar.c:771
+#: src/tar.c:703
 msgid "DATE"
 msgstr "日期"
 
-#: src/tar.c:772
+#: src/tar.c:704
 msgid "compare date and time when data changed only"
 msgstr "只有當資料變更時才比較日期和時間"
 
-#: src/tar.c:773
+#: src/tar.c:705
 msgid "CONTROL"
 msgstr "控制"
 
-#: src/tar.c:774
+#: src/tar.c:706
 msgid "backup before removal, choose version CONTROL"
 msgstr "移除之前先備份,選擇版本 CONTROL"
 
-#: src/tar.c:775 src/tar.c:856 src/tar.c:858 tests/genfile.c:169
+#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
 msgid "STRING"
 msgstr "字串"
 
-#: src/tar.c:776
+#: src/tar.c:708
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2057,98 +2134,59 @@ msgstr ""
 "移除之前先備份並覆寫常用後置文字 ( ~ 除非被環境變數 SIMPLE_BACKUP_SUFFIX 所蓋"
 "過)"
 
-#: src/tar.c:781
+#: src/tar.c:713
 msgid "File name transformations:"
 msgstr "檔案名稱變換:"
 
-#: src/tar.c:783
+#: src/tar.c:715
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "從檔案名稱中截去以 NUMBER 為首的成分"
 
-#: src/tar.c:785
+#: src/tar.c:717
 msgid "EXPRESSION"
 msgstr "表示式"
 
-#: src/tar.c:786
+#: src/tar.c:718
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "利用 sed 將 EXPRESSION 替代為變換檔案名稱"
 
-#: src/tar.c:792
-msgid "File name matching options (affect both exclude and include patterns):"
-msgstr "檔案名稱吻合選項 (同時影響排除和包含胚騰同者):"
-
-#: src/tar.c:795
-msgid "ignore case"
-msgstr "忽略大小寫"
-
-#: src/tar.c:797
-msgid "patterns match file name start"
-msgstr "吻合檔案名稱開頭的胚騰"
-
-#: src/tar.c:799
-#, fuzzy
-msgid "patterns match after any '/' (default for exclusion)"
-msgstr "胚騰吻合任何 / 之後的胚騰 (預設排除)"
-
-#: src/tar.c:801
-msgid "case sensitive matching (default)"
-msgstr "大小寫需相符的吻合 (預設)"
-
-#: src/tar.c:803
-msgid "use wildcards (default for exclusion)"
-msgstr "使用萬用字元 (預設排除)"
-
-#: src/tar.c:805
-msgid "verbatim string matching"
-msgstr "逐字進行吻合"
-
-#: src/tar.c:807
-#, fuzzy
-msgid "wildcards do not match '/'"
-msgstr "萬用字元不會吻合 /"
-
-#: src/tar.c:809
-#, fuzzy
-msgid "wildcards match '/' (default for exclusion)"
-msgstr "萬用字元會吻合 / (預設排除)"
-
-#: src/tar.c:814
+#: src/tar.c:724
 msgid "Informative output:"
 msgstr "富含資訊的輸出:"
 
-#: src/tar.c:817
+#: src/tar.c:727
 msgid "verbosely list files processed"
 msgstr "詳細列出處理過的檔案"
 
-#: src/tar.c:818
+#: src/tar.c:728
 msgid "KEYWORD"
 msgstr "關鍵字"
 
-#: src/tar.c:819
+#: src/tar.c:729
 msgid "warning control"
 msgstr "警告控制"
 
-#: src/tar.c:821
+#: src/tar.c:731
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "每幾項記錄顯示一次進度訊息 (預設 10)"
 
-#: src/tar.c:823
+#: src/tar.c:733
 msgid "ACTION"
 msgstr "動作"
 
-#: src/tar.c:824
+#: src/tar.c:734
 msgid "execute ACTION on each checkpoint"
 msgstr "於每個查核點執行 ACTION"
 
-#: src/tar.c:827
+#: src/tar.c:737
 msgid "print a message if not all links are dumped"
 msgstr "如果並非所有連結都被傾印則印出訊息"
 
-#: src/tar.c:828
+#: src/tar.c:738
 msgid "SIGNAL"
 msgstr "信號"
 
-#: src/tar.c:829
+#: src/tar.c:739
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2159,119 +2197,126 @@ msgstr ""
 "的信號是:SIGHUP、SIGQUIT、SIGINT、SIGUSR1 和 SIGUSR2;不具 SIG 前綴的名稱也"
 "是可接受的"
 
-#: src/tar.c:834
+#: src/tar.c:744
 msgid "print file modification times in UTC"
 msgstr "以 UTC 印出檔案修改時間"
 
-#: src/tar.c:836
+#: src/tar.c:746
 msgid "print file time to its full resolution"
 msgstr "以完整精度印出檔案時間"
 
-#: src/tar.c:838
+#: src/tar.c:748
 msgid "send verbose output to FILE"
 msgstr "將詳細輸出送至 FILE"
 
-#: src/tar.c:840
+#: src/tar.c:750
 msgid "show block number within archive with each message"
 msgstr "每則訊息附帶顯示在封存中的區塊號碼"
 
-#: src/tar.c:842
+#: src/tar.c:752
 msgid "ask for confirmation for every action"
 msgstr "任何動作都要求確認"
 
-#: src/tar.c:845
+#: src/tar.c:755
 msgid "show tar defaults"
 msgstr "顯示 tar 預設值"
 
-#: src/tar.c:847
+#: src/tar.c:757
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:849
+#: src/tar.c:759
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "當表列或解開時,列出每一個不符合搜尋條件的目錄"
 
-#: src/tar.c:851
+#: src/tar.c:761
 msgid "show file or archive names after transformation"
 msgstr "顯示變換之後的檔案或封存名稱"
 
-#: src/tar.c:854
+#: src/tar.c:764
 msgid "STYLE"
 msgstr "樣式"
 
-#: src/tar.c:855
+#: src/tar.c:765
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "設定名稱引號樣式;參看下列的有效樣式值"
 
-#: src/tar.c:857
+#: src/tar.c:767
 msgid "additionally quote characters from STRING"
 msgstr "來自 STRING 的額外引號字元"
 
-#: src/tar.c:859
+#: src/tar.c:769
 msgid "disable quoting for characters from STRING"
 msgstr "停用來自字串的引號字元"
 
-#: src/tar.c:864
+#: src/tar.c:774
 msgid "Compatibility options:"
 msgstr "相容選項:"
 
-#: src/tar.c:867
+#: src/tar.c:777
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "當建立時,等同於 --old-archive。當解開時,等同於 --no-same-owner"
 
-#: src/tar.c:872
+#: src/tar.c:782
 msgid "Other options:"
 msgstr "其他選項:"
 
-#: src/tar.c:875
+#: src/tar.c:785
 msgid "disable use of some potentially harmful options"
 msgstr "停用某些潛在有害的選項"
 
-#: src/tar.c:1010
+#. TRANSLATORS: Both %s in this statement are replaced with
+#. option names.
+#: src/tar.c:846
+#, fuzzy, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "%s:無法尋指到 %s"
+
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "您不可以指定超過一個 -Acdtrux 或 --test-label 選項"
 
-#: src/tar.c:1020
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "互相抵觸的壓縮選項"
 
-#: src/tar.c:1079
+#: src/tar.c:1005
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "不明的信號名稱:%s"
 
-#: src/tar.c:1103
+#: src/tar.c:1029
 msgid "Date sample file not found"
 msgstr "找不到日期範例檔案"
 
-#: src/tar.c:1111
+#: src/tar.c:1037
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "以 %s 代替不明的日期格式 %s"
 
-#: src/tar.c:1140
+#: src/tar.c:1066
 #, fuzzy, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "選項 %1$s: 以 %3$s 格式來處理日期 %2$s"
 
-#: src/tar.c:1183 src/tar.c:1187 src/tar.c:1191 src/tar.c:1195 src/tar.c:1199
-#: src/tar.c:1203 src/tar.c:1206
+#: src/tar.c:1106 src/tar.c:1110 src/tar.c:1114 src/tar.c:1118 src/tar.c:1122
+#: src/tar.c:1126 src/tar.c:1129
 #, c-format
 msgid "filter the archive through %s"
 msgstr "將封存透過 %s 篩選"
 
-#: src/tar.c:1214
+#: src/tar.c:1137
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "用於 --quoting-style 的有效引數選項是:"
 
-#: src/tar.c:1218
+#: src/tar.c:1141
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2279,188 +2324,197 @@ msgstr ""
 "\n"
 "*這個* tar 預設為:\n"
 
-#: src/tar.c:1330
+#: src/tar.c:1253
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "無效的擁有者"
 
-#: src/tar.c:1389
+#: src/tar.c:1348
 msgid "Invalid blocking factor"
 msgstr "無效的分區因子"
 
-#: src/tar.c:1507
+#: src/tar.c:1469
 msgid "Invalid tape length"
 msgstr "無效的磁帶長度"
 
-#: src/tar.c:1521
+#: src/tar.c:1483
 msgid "Invalid incremental level value"
 msgstr "無效的遞增等級值"
 
-#: src/tar.c:1567
+#: src/tar.c:1530
 msgid "More than one threshold date"
 msgstr "一個以上的限定日期"
 
-#: src/tar.c:1626 src/tar.c:1629
+#: src/tar.c:1597 src/tar.c:1600
 msgid "Invalid sparse version value"
 msgstr "無效的稀疏版本值"
 
-#: src/tar.c:1714
+#: src/tar.c:1664
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' 於這個平臺未被支援"
 
-#: src/tar.c:1739
+#: src/tar.c:1689
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint 值不是整數"
 
-#: src/tar.c:1868
+#: src/tar.c:1767
 msgid "Invalid mode given on option"
 msgstr "選項中的模式無效"
 
-#: src/tar.c:1925
+#: src/tar.c:1800
 msgid "Invalid number"
 msgstr "無效的號碼"
 
-#: src/tar.c:1982
-msgid ""
-"The --preserve option is deprecated, use --preserve-permissions --preserve-"
-"order instead"
-msgstr ""
-"--preserve 選項不宜再用,請以 --preserve-permissions --preserve-order 做為替"
-"代"
-
-#: src/tar.c:1993
+#: src/tar.c:1864
 msgid "Invalid record size"
 msgstr "無效的記錄大小"
 
-#: src/tar.c:1996
+#: src/tar.c:1867
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "記錄大小必須是 %d 的倍數。"
 
-#: src/tar.c:2042
+#: src/tar.c:1913
 msgid "Invalid number of elements"
 msgstr "無效的元素號碼"
 
-#: src/tar.c:2067
+#: src/tar.c:1938
 msgid "Only one --to-command option allowed"
 msgstr "只允許一個 --to-command 選項"
 
-#: src/tar.c:2179
+#: src/tar.c:2026
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "異常的密度引數:%s"
 
-#: src/tar.c:2205
+#: src/tar.c:2052
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "不明的密度:%c"
 
-#: src/tar.c:2222
+#: src/tar.c:2069
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "此版本的 tar 不支援 -[0-7][lmh] 選項"
 
-#: src/tar.c:2235
+#: src/tar.c:2075
+#, c-format
+msgid "%s:%lu: location of the error"
+msgstr ""
+
+#: src/tar.c:2078
+#, fuzzy, c-format
+msgid "error parsing %s"
+msgstr "剖析數字接近 %s 時發生錯誤"
+
+#: src/tar.c:2092
 msgid "[FILE]..."
 msgstr "[FILE]…"
 
-#. TRANSLATORS: Both %s in this statement are replaced with
-#. option names.
-#: src/tar.c:2303
+#: src/tar.c:2183
 #, fuzzy, c-format
-msgid "'%s' cannot be used with '%s'"
-msgstr "胚騰 %s 無法使用"
+msgid "non-option arguments in %s"
+msgstr "%2$s 的引數 %1$s 無效"
+
+#: src/tar.c:2198
+#, fuzzy, c-format
+msgid "cannot split TAR_OPTIONS: %s"
+msgstr "無法設定時間為 %s"
 
-#: src/tar.c:2389
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "舊的選項 %c 需要一個引數。"
 
-#: src/tar.c:2469
+#: src/tar.c:2369
 msgid "--occurrence is meaningless without a file list"
 msgstr "若無檔案列表,--occurrence 便不具意義"
 
-#: src/tar.c:2490
+#: src/tar.c:2395
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "指定多個封存時需要 -M 選項"
 
-#: src/tar.c:2498
+#: src/tar.c:2412
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level 不與 --listed-incremental 共用是無意義的"
 
-#: src/tar.c:2515
+#: src/tar.c:2429
 #, 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:2528
+#: src/tar.c:2442
 msgid "Cannot verify multi-volume archives"
 msgstr "無法驗證多重卷冊的封存"
 
-#: src/tar.c:2530
+#: src/tar.c:2444
 msgid "Cannot verify compressed archives"
 msgstr "無法驗證壓縮過的封存"
 
-#: src/tar.c:2539
+#: src/tar.c:2458
 msgid "Cannot use multi-volume compressed archives"
 msgstr "無法使用多重卷冊的壓縮封存"
 
-#: src/tar.c:2543
+#: src/tar.c:2462
 msgid "Cannot concatenate compressed archives"
 msgstr "無法串接壓縮過的檔案"
 
-#: src/tar.c:2553
+#: src/tar.c:2469
+msgid "--clamp-mtime needs a date specified using --mtime"
+msgstr ""
+
+#: src/tar.c:2479
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option 只能用於 POSIX 封存"
 
-#: src/tar.c:2560
+#: src/tar.c:2486
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr "--pax-option 只能用於 POSIX 封存"
 
-#: src/tar.c:2565
+#: src/tar.c:2491
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--pax-option 只能用於 POSIX 封存"
 
-#: src/tar.c:2570
+#: src/tar.c:2496
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--pax-option 只能用於 POSIX 封存"
 
-#: src/tar.c:2597
+#: src/tar.c:2545
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2630
+#: src/tar.c:2578
 msgid "Volume length cannot be less than record size"
 msgstr "卷冊長度無法少於記錄大小"
 
-#: src/tar.c:2643
+#: src/tar.c:2602
 msgid "Cowardly refusing to create an empty archive"
 msgstr "低調拒絕建立空白的封存"
 
-#: src/tar.c:2669
+#: src/tar.c:2628
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr " -Aru 與 -f - 選項不相容"
 
-#: src/tar.c:2766
+#: src/tar.c:2716
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "您必須指定 -Acdtrux 或 --test-label 選項之一"
 
-#: src/tar.c:2823
+#: src/tar.c:2773
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "由於先前錯誤而以失敗狀態離開"
 
-#: src/tar.c:569
+#: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
 msgstr ""
 
@@ -2515,34 +2569,34 @@ msgstr "異常的擴充標頭:缺少新列"
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "忽略不明擴充標頭關鍵字 %s"
 
-#: src/xheader.c:1013
+#: src/xheader.c:1023
 #, 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:1043
+#: src/xheader.c:1053
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "擴充標頭 %s=%s 超出範圍 %s..%s"
 
-#: src/xheader.c:1094 src/xheader.c:1127 src/xheader.c:1456
+#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1469
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "異常的擴充標頭:無效的 %s=%s"
 
-#: src/xheader.c:1409 src/xheader.c:1434 src/xheader.c:1489
+#: src/xheader.c:1422 src/xheader.c:1447 src/xheader.c:1502
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "異常的擴充標頭:過剩的 %s=%s"
 
-#: src/xheader.c:1502
+#: src/xheader.c:1515
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "異常的擴充標頭:無效的 %s:未預期的分隔符號 %c"
 
-#: src/xheader.c:1512
+#: src/xheader.c:1525
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "異常的擴充標頭:無效的 %s:奇怪的數值數量"
@@ -2583,7 +2637,7 @@ msgstr "寫入的查核點 %u"
 msgid "Read checkpoint %u"
 msgstr "讀取的查核點 %u"
 
-#: tests/genfile.c:111
+#: tests/genfile.c:115
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2591,67 +2645,71 @@ msgstr ""
 "genfile 在 GNU paxutils 測試套件中用於操控資料檔案。\n"
 "選項:\n"
 
-#: tests/genfile.c:127
+#: tests/genfile.c:131
 msgid "File creation options:"
 msgstr "檔案建立選項:"
 
-#: tests/genfile.c:128 tests/genfile.c:139
+#: tests/genfile.c:132 tests/genfile.c:143
 msgid "SIZE"
 msgstr "大小"
 
-#: tests/genfile.c:129
+#: tests/genfile.c:133
 msgid "Create file of the given SIZE"
 msgstr "以給定 SIZE 建立檔案。"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:135
 msgid "Write to file NAME, instead of standard output"
 msgstr "寫入檔案 NAME,以代替標準輸出"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:137
 msgid "Read file names from FILE"
 msgstr "從 FILE 讀取檔案名稱"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:139
 msgid "-T reads null-terminated names"
 msgstr "-T 讀取零值終結的名稱"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:141
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "以給定 PATTERN 填充檔案。PATTERN 是 default 或 zeros"
 
-#: tests/genfile.c:140
+#: tests/genfile.c:144
 msgid "Size of a block for sparse file"
 msgstr "用於稀疏檔案的區塊大小"
 
-#: tests/genfile.c:142
+#: tests/genfile.c:146
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "產生稀疏檔案。命令列的其餘部分給出檔案對映。"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:148
 msgid "OFFSET"
 msgstr "偏移值"
 
-#: tests/genfile.c:145
+#: tests/genfile.c:149
 msgid "Seek to the given offset before writing data"
 msgstr "寫入資料之前尋指給定的偏移值"
 
-#: tests/genfile.c:151
+#: tests/genfile.c:152
+msgid "Suppress non-fatal diagnostic messages"
+msgstr ""
+
+#: tests/genfile.c:156
 msgid "File statistics options:"
 msgstr "檔案統計選項:"
 
-#: tests/genfile.c:154
+#: tests/genfile.c:159
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "列印每個給定檔案的結構狀態內容。預設 FORMAT 為:"
 
-#: tests/genfile.c:161
+#: tests/genfile.c:166
 msgid "Synchronous execution options:"
 msgstr "同步的執行選項:"
 
-#: tests/genfile.c:163
+#: tests/genfile.c:168
 msgid "OPTION"
 msgstr "選項"
 
-#: tests/genfile.c:164
+#: tests/genfile.c:169
 msgid ""
 "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
 "--unlink"
@@ -2659,19 +2717,19 @@ msgstr ""
 "執行引數。適合與 --checkpoint 以及 --cut, --append, --touch, --unlink 之一共"
 "用"
 
-#: tests/genfile.c:167
+#: tests/genfile.c:172
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "當達到查核點 NUMBER 時實行給定動作 (參看以下)"
 
-#: tests/genfile.c:170
+#: tests/genfile.c:175
 msgid "Set date for next --touch option"
 msgstr "設定後續 --touch 選項所需的日期"
 
-#: tests/genfile.c:173
+#: tests/genfile.c:178
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "顯示已執行的查核點以及 COMMAND 的離開狀態"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:183
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2679,169 +2737,166 @@ msgstr ""
 "同步的執行動作。當到達由 --checkpoint 選項所給定的查核點編號時,這些動作會被"
 "執行。"
 
-#: tests/genfile.c:181
+#: tests/genfile.c:186
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr "依先前 --length 選項指定的大小來截斷檔案 (如果它未被給定就是 0)"
 
-#: tests/genfile.c:185
+#: tests/genfile.c:190
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "附加 SIZE 位元組到 FILE。SIZE 是由先前 --length 選項所給定。"
 
-#: tests/genfile.c:188
+#: tests/genfile.c:193
 msgid "Update the access and modification times of FILE"
 msgstr "更新檔案的存取和修改時間"
 
-#: tests/genfile.c:191
+#: tests/genfile.c:196
 msgid "Execute COMMAND"
 msgstr "執行 COMMAND"
 
-#: tests/genfile.c:194
+#: tests/genfile.c:199
 msgid "Unlink FILE"
 msgstr "取消連結檔案"
 
-#: tests/genfile.c:244
+#: tests/genfile.c:249
 #, c-format
 msgid "Invalid size: %s"
 msgstr "無效的大小:%s"
 
-#: tests/genfile.c:249
+#: tests/genfile.c:254
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "號碼超出允許的範圍:%s"
 
-#: tests/genfile.c:252
+#: tests/genfile.c:257
 #, c-format
 msgid "Negative size: %s"
 msgstr "負值大小:%s"
 
-#: tests/genfile.c:265 tests/genfile.c:569
+#: tests/genfile.c:270 tests/genfile.c:637
 #, c-format
 msgid "stat(%s) failed"
 msgstr "狀態(%s) 失敗"
 
-#: tests/genfile.c:268
+#: tests/genfile.c:273
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "要求檔案長度 %lu,實際則是 %lu"
 
-#: tests/genfile.c:272
+#: tests/genfile.c:277
 #, c-format
 msgid "created file is not sparse"
 msgstr "建立的不是稀疏檔案"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:370
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "剖析數字接近 %s 時發生錯誤"
 
-#: tests/genfile.c:367
+#: tests/genfile.c:376
 #, c-format
 msgid "Unknown date format"
 msgstr "不明的日期格式"
 
-#: tests/genfile.c:391
+#: tests/genfile.c:400
 msgid "[ARGS...]"
 msgstr "[引數…]"
 
-#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523
-#: tests/genfile.c:673 tests/genfile.c:687
+#: tests/genfile.c:437 tests/genfile.c:477 tests/genfile.c:578
+#: tests/genfile.c:741 tests/genfile.c:755
 #, c-format
 msgid "cannot open `%s'"
 msgstr "無法開啟 %s"
 
-#: tests/genfile.c:434
+#: tests/genfile.c:443
 msgid "cannot seek"
 msgstr "無法尋指"
 
-#: tests/genfile.c:451
+#: tests/genfile.c:460
 #, c-format
 msgid "file name contains null character"
 msgstr "檔案名稱含有空字元"
 
-#: tests/genfile.c:518
+#: tests/genfile.c:573
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "無法於標準輸出產生稀疏檔案,使用 --file 選項"
 
-#: tests/genfile.c:596
+#: tests/genfile.c:664
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "不正確遮罩 (接近 %s)"
 
-#: tests/genfile.c:602 tests/genfile.c:635
+#: tests/genfile.c:670 tests/genfile.c:703
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "不明的欄位 %s"
 
-#: tests/genfile.c:662
+#: tests/genfile.c:730
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "無法設定時間為 %s"
 
-#: tests/genfile.c:692
+#: tests/genfile.c:760
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "無法取消連結 %s"
 
-#: tests/genfile.c:701
+#: tests/genfile.c:769
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "%s 命令失敗"
 
-#: tests/genfile.c:706
+#: tests/genfile.c:774
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "無法取消連結 %s"
 
-#: tests/genfile.c:833
+#: tests/genfile.c:901
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "成功離開命令\n"
 
-#: tests/genfile.c:835
+#: tests/genfile.c:903
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "命令以狀態 %d 失敗\n"
 
-#: tests/genfile.c:839
+#: tests/genfile.c:907
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "命令於信號 %d 終止\n"
 
-#: tests/genfile.c:841
+#: tests/genfile.c:909
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "命令於信號 %d 停止\n"
 
-#: tests/genfile.c:844
+#: tests/genfile.c:912
 #, c-format
 msgid "Command dumped core\n"
 msgstr "命令傾印核心\n"
 
-#: tests/genfile.c:847
+#: tests/genfile.c:915
 #, c-format
 msgid "Command terminated\n"
 msgstr "命令終止\n"
 
-#: tests/genfile.c:879
+#: tests/genfile.c:947
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat 需要檔案名稱"
 
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "解開時依名稱排序以符合封存"
-
-#, fuzzy
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "--occurrence 無法於要求的作業模式中使用"
+#~ msgid "same as both -p and -s"
+#~ msgstr "等同於指定 -p 與 -s"
 
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "無法同時使用 --listed-incremental 及 --newer"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order 與 --listed-incremental 不相容"
+#~ msgid ""
+#~ "The --preserve option is deprecated, use --preserve-permissions --"
+#~ "preserve-order instead"
+#~ msgstr ""
+#~ "--preserve 選項不宜再用,請以 --preserve-permissions --preserve-order 做為"
+#~ "替代"
 
 #~ msgid "Field too long while reading snapshot file"
 #~ msgstr "讀取快照檔時欄位太長"
@@ -2855,8 +2910,20 @@ msgstr "--stat 需要檔案名稱"
 #~ msgid "Cannot get working directory"
 #~ msgstr "無法提取工作目錄"
 
+#~ msgid "sort names to extract to match archive"
+#~ msgstr "解開時依名稱排序以符合封存"
+
 #~ msgid "Invalid group"
 #~ msgstr "無效的群組"
 
+#~ msgid "--occurrence cannot be used in the requested operation mode"
+#~ msgstr "--occurrence 無法於要求的作業模式中使用"
+
+#~ msgid "Cannot combine --listed-incremental with --newer"
+#~ msgstr "無法同時使用 --listed-incremental 及 --newer"
+
+#~ msgid "--preserve-order is not compatible with --listed-incremental"
+#~ msgstr "--preserve-order 與 --listed-incremental 不相容"
+
 #~ msgid "Extended header length is out of allowed range"
 #~ msgstr "擴充標頭長度超出允許範圍"
index c3f2509f9f3bf6130c5a161577459e16a4f983ba..a1bdee0e80cb75e5d60563cf178814790d5e5a35 100644 (file)
@@ -106,10 +106,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.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 \
@@ -124,10 +125,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
-       $(top_srcdir)/m4/langinfo_h.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/iswblank.m4 $(top_srcdir)/m4/langinfo_h.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 \
@@ -149,14 +150,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/posix_openpt.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.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/ptsname.m4 \
-       $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.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 \
@@ -192,24 +192,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \
        $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \
        $(top_srcdir)/m4/unistd_h.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/unlockpt.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 \
-       $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \
-       $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \
-       $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
+       $(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 $(top_srcdir)/m4/write.m4 \
+       $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
+       $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
+       $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -476,6 +476,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
 GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
@@ -535,6 +536,7 @@ 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_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
@@ -687,6 +689,7 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -773,6 +776,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_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -846,6 +850,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
 LIB_ACL = @LIB_ACL@
 LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
 LIB_EACCESS = @LIB_EACCESS@
+LIB_HAS_ACL = @LIB_HAS_ACL@
 LIB_SELINUX = @LIB_SELINUX@
 LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1011,10 +1016,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
 REPLACE_RAISE = @REPLACE_RAISE@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
@@ -1047,6 +1054,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
@@ -1089,6 +1097,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 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@
index 7484ff803596e8fe957462fade81ce659fc4b57b..d9439b8654e0f34ea66df05fa00419c32902765f 100644 (file)
@@ -1,6 +1,7 @@
 # Make GNU tar scripts.
 
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 57c0d0da5a90c6a8bccbd4777d503e3daf16def2..6c2883a63520c08297100e8787657bd72bf514b4 100644 (file)
@@ -16,7 +16,8 @@
 
 # Make GNU tar scripts.
 
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
@@ -123,10 +124,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.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 \
@@ -141,10 +143,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
-       $(top_srcdir)/m4/langinfo_h.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/iswblank.m4 $(top_srcdir)/m4/langinfo_h.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 \
@@ -166,14 +168,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/posix_openpt.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.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/ptsname.m4 \
-       $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.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 \
@@ -209,24 +210,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \
        $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \
        $(top_srcdir)/m4/unistd_h.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/unlockpt.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 \
-       $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \
-       $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \
-       $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
+       $(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 $(top_srcdir)/m4/write.m4 \
+       $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
+       $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
+       $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -481,6 +482,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
 GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
@@ -540,6 +542,7 @@ 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_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
@@ -692,6 +695,7 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -778,6 +782,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_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -851,6 +856,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
 LIB_ACL = @LIB_ACL@
 LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
 LIB_EACCESS = @LIB_EACCESS@
+LIB_HAS_ACL = @LIB_HAS_ACL@
 LIB_SELINUX = @LIB_SELINUX@
 LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1016,10 +1022,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
 REPLACE_RAISE = @REPLACE_RAISE@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
@@ -1052,6 +1060,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
@@ -1094,6 +1103,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 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@
index f06233bfa5e6924dde5c3c8926b776299da19e42..6634a9da64e057d6bc0dafe558e079bc33c03096 100644 (file)
@@ -82,7 +82,7 @@ SLEEP_MESSAGE="`awk '
    }' /dev/null`"
 
 \f
-# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 9977ec25374f53b8ed3edaacb5f08b527945503c..4e739cd82a52fd52b9e7616ce3a6820b624bde3b 100644 (file)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Make backups.
 
-# Copyright 2004-2006, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004-2006, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index f9a299b5a14d8b5dca8c7350b54981fe7204c677..59080a067b3a3a6646e6929b602af38edbbdb38d 100644 (file)
@@ -8,7 +8,8 @@
 # interested parties that a tape for the next volume of the backup needs to
 # be put in the tape drive.
 
-# Copyright 2004-2005, 2010, 2012-2014 Free Software Foundation, Inc.
+# Copyright 2004-2005, 2010, 2012-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index f4e80e8da8a8963584d806e628cf61d5602bab3c..3b68c69c92fb9ab6b0d47ff12f0e83a700cf248c 100644 (file)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Restore backups.
 
-# Copyright 2004, 2006, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 82b2d4628510754d0283141a3c2ffc186ae2f000..08fc24c764aefef067cc600a7d387c30e2a0ee70 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile for GNU tar sources.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014 Free
-# Software Foundation, Inc.
+# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014, 2016
+# Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -33,6 +33,7 @@ tar_SOURCES = \
  xheader.c\
  incremen.c\
  list.c\
+ map.c\
  misc.c\
  names.c\
  sparse.c\
@@ -52,7 +53,3 @@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
 LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
 
 tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX)
-
-if TAR_LIB_ATTR
-tar_LDADD += -lattr
-endif
index 6f9a59208e02ba8129716b64b34e7bae3fe8f766..91567f591f991d565923b4f7d2aa782bbf240c61 100644 (file)
@@ -16,8 +16,8 @@
 
 # Makefile for GNU tar sources.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014 Free
-# Software Foundation, Inc.
+# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014, 2016
+# Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -99,7 +99,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = tar$(EXEEXT)
-@TAR_LIB_ATTR_TRUE@am__append_1 = -lattr
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(top_srcdir)/build-aux/depcomp $(noinst_HEADERS)
@@ -128,10 +127,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.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 \
@@ -146,10 +146,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
-       $(top_srcdir)/m4/langinfo_h.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/iswblank.m4 $(top_srcdir)/m4/langinfo_h.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 \
@@ -171,14 +171,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/posix_openpt.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.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/ptsname.m4 \
-       $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.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 \
@@ -214,24 +213,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \
        $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \
        $(top_srcdir)/m4/unistd_h.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/unlockpt.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 \
-       $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \
-       $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \
-       $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
+       $(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 $(top_srcdir)/m4/write.m4 \
+       $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
+       $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
+       $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -244,7 +243,7 @@ am_tar_OBJECTS = buffer.$(OBJEXT) checkpoint.$(OBJEXT) \
        compare.$(OBJEXT) create.$(OBJEXT) delete.$(OBJEXT) \
        exit.$(OBJEXT) exclist.$(OBJEXT) extract.$(OBJEXT) \
        xheader.$(OBJEXT) incremen.$(OBJEXT) list.$(OBJEXT) \
-       misc.$(OBJEXT) names.$(OBJEXT) sparse.$(OBJEXT) \
+       map.$(OBJEXT) misc.$(OBJEXT) names.$(OBJEXT) sparse.$(OBJEXT) \
        suffix.$(OBJEXT) system.$(OBJEXT) tar.$(OBJEXT) \
        transform.$(OBJEXT) unlink.$(OBJEXT) update.$(OBJEXT) \
        utf8.$(OBJEXT) warning.$(OBJEXT) xattrs.$(OBJEXT)
@@ -254,7 +253,7 @@ am__DEPENDENCIES_2 = ../lib/libtar.a ../gnu/libgnu.a \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 tar_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(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
@@ -509,6 +508,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
 GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
@@ -568,6 +568,7 @@ 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_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
@@ -720,6 +721,7 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -806,6 +808,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_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -879,6 +882,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
 LIB_ACL = @LIB_ACL@
 LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
 LIB_EACCESS = @LIB_EACCESS@
+LIB_HAS_ACL = @LIB_HAS_ACL@
 LIB_SELINUX = @LIB_SELINUX@
 LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1044,10 +1048,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
 REPLACE_RAISE = @REPLACE_RAISE@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
@@ -1080,6 +1086,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
@@ -1122,6 +1129,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 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@
@@ -1209,6 +1217,7 @@ tar_SOURCES = \
  xheader.c\
  incremen.c\
  list.c\
+ map.c\
  misc.c\
  names.c\
  sparse.c\
@@ -1225,8 +1234,7 @@ tar_SOURCES = \
 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 = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) \
-       $(LIB_SELINUX) $(am__append_1)
+tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX)
 all: all-am
 
 .SUFFIXES:
@@ -1340,6 +1348,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extract.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/incremen.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/names.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparse.Po@am__quote@
index 0749d19fb2850a869e9914bea0b2ae3eb8b76f60..ed930aca664e0c2d594da3e270df236fbb46a13c 100644 (file)
@@ -1,5 +1,5 @@
 /* Long integers, for GNU tar.
-   Copyright 1999, 2007, 2013-2014 Free Software Foundation, Inc.
+   Copyright 1999, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
index a7d89712fc0d931dddd948403f95249a1c7f0c6e..dcbfd028f42ae68afc21b2bb14c02c7d2acb9218 100644 (file)
@@ -1,6 +1,6 @@
 /* Buffer management for tar.
 
-   Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2013-2014 Free
+   Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2013-2014, 2016 Free
    Software Foundation, Inc.
 
    This file is part of GNU tar.
@@ -391,7 +391,10 @@ check_compressed_archive (bool *pshort)
   /* Restore global values */
   read_full_records = sfr;
 
-  if (tar_checksum (record_start, true) == HEADER_SUCCESS)
+  if ((strcmp (record_start->header.magic, TMAGIC) == 0 ||
+       strcmp (record_start->buffer + offsetof (struct posix_header, magic),
+              OLDGNU_MAGIC) == 0) &&
+      tar_checksum (record_start, true) == HEADER_SUCCESS)
     /* Probably a valid header */
     return ct_tar;
 
@@ -495,7 +498,7 @@ print_stats (FILE *fp, const char *text, tarlong numbytes)
   char abbr[LONGEST_HUMAN_READABLE + 1];
   char rate[LONGEST_HUMAN_READABLE + 1];
   int n = 0;
-  
+
   int human_opts = human_autoscale | human_base_1024 | human_SI | human_B;
 
   if (text && text[0])
@@ -512,12 +515,12 @@ print_stats (FILE *fp, const char *text, tarlong numbytes)
    before each data item (bytes read, written, deleted, in that order).
    EOR is a delimiter to output after each item (used only if deleting
    from the archive), EOL is a delimiter to add at the end of the output
-   line. */ 
+   line. */
 int
-format_total_stats (FILE *fp, const char **formats, int eor, int eol)
+format_total_stats (FILE *fp, char const *const *formats, int eor, int eol)
 {
   int n;
-  
+
   switch (subcommand_option)
     {
     case CREATE_SUBCOMMAND:
@@ -536,7 +539,7 @@ format_total_stats (FILE *fp, const char **formats, int eor, int eol)
 
        fputc (eor, fp);
        n++;
-       
+
         n += print_stats (fp, formats[TF_WRITE],
                          prev_written + bytes_written);
 
@@ -570,7 +573,7 @@ format_total_stats (FILE *fp, const char **formats, int eor, int eol)
   return n;
 }
 
-const char *default_total_format[] = {
+static char const *const default_total_format[] = {
   N_("Total bytes read"),
   /* Amanda 2.4.1p1 looks for "Total bytes written: [0-9][0-9]*".  */
   N_("Total bytes written"),
@@ -980,18 +983,28 @@ short_read (size_t status)
 void
 flush_archive (void)
 {
-  size_t buffer_level = current_block->buffer - record_start->buffer;
-  record_start_block += record_end - record_start;
-  current_block = record_start;
-  record_end = record_start + blocking_factor;
-
+  size_t buffer_level;
+  
   if (access_mode == ACCESS_READ && time_to_start_writing)
     {
       access_mode = ACCESS_WRITE;
       time_to_start_writing = false;
       backspace_output ();
+      if (record_end - record_start < blocking_factor)
+       {
+         memset (record_end, 0,
+                 (blocking_factor - (record_end - record_start))
+                 * BLOCKSIZE);
+         record_end = record_start + blocking_factor;
+         return;
+       }
     }
 
+  buffer_level = current_block->buffer - record_start->buffer;
+  record_start_block += record_end - record_start;
+  current_block = record_start;
+  record_end = record_start + blocking_factor;
+
   switch (access_mode)
     {
     case ACCESS_READ:
@@ -1031,7 +1044,7 @@ backspace_output (void)
 
     /* Seek back to the beginning of this record and start writing there.  */
 
-    position -= record_size;
+    position -= record_end->buffer - record_start->buffer;
     if (position < 0)
       position = 0;
     if (rmtlseek (archive, position, SEEK_SET) != position)
@@ -1112,6 +1125,16 @@ close_archive (void)
   bufmap_free (NULL);
 }
 
+void
+write_fatal_details (char const *name, ssize_t status, size_t size)
+{
+  write_error_details (name, status, size);
+  if (rmtclose (archive) != 0)
+    close_error (*archive_name_cursor);
+  sys_wait_for_child (child_pid, false);
+  fatal_exit ();
+}
+
 /* Called to initialize the global volume number.  */
 void
 init_volume_number (void)
@@ -1406,7 +1429,10 @@ try_new_volume (void)
 
   header = find_next_block ();
   if (!header)
-    return false;
+    {
+      WARN ((0, 0, _("This does not look like a tar archive")));
+      return false;
+    }
 
   switch (header->header.typeflag)
     {
@@ -1416,7 +1442,7 @@ try_new_volume (void)
        if (read_header (&header, &dummy, read_header_x_global)
            != HEADER_SUCCESS_EXTENDED)
          {
-           ERROR ((0, 0, _("This does not look like a tar archive")));
+           WARN ((0, 0, _("This does not look like a tar archive")));
            return false;
          }
 
@@ -1445,7 +1471,7 @@ try_new_volume (void)
            break;
 
          default:
-           ERROR ((0, 0, _("This does not look like a tar archive")));
+           WARN ((0, 0, _("This does not look like a tar archive")));
            return false;
          }
         break;
@@ -1480,8 +1506,14 @@ try_new_volume (void)
   if (bufmap_head)
     {
       uintmax_t s;
-      if (!continued_file_name
-          || strcmp (continued_file_name, bufmap_head->file_name))
+      if (!continued_file_name)
+       {
+         WARN ((0, 0, _("%s is not continued on this volume"),
+                quote (bufmap_head->file_name)));
+         return false;
+       }
+      
+      if (strcmp (continued_file_name, bufmap_head->file_name))
         {
           if ((archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT)
               && strlen (bufmap_head->file_name) >= NAME_FIELD_SIZE
index 54e7b5967de2bd77233eaa920f1d4f8cacd86738..1a253c299db35569dc74f20d605959b44b151146 100644 (file)
@@ -1,6 +1,6 @@
 /* Checkpoint management for tar.
 
-   Copyright 2007, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
index edf787c8316f98c3a4e9c696b8b26d26bff8baf9..50c34cc7c09b1ee2a9c32d30b39e49136acdbd4e 100644 (file)
@@ -1,6 +1,6 @@
 /* Common declarations for the tar program.
 
-   Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2012-2014 Free
+   Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2012-2016 Free
    Software Foundation, Inc.
 
    This file is part of GNU tar.
@@ -211,13 +211,20 @@ GLOBAL bool multi_volume_option;
    do not get archived (also see after_date_option above).  */
 GLOBAL struct timespec newer_mtime_option;
 
-/* If true, override actual mtime (see below) */
-GLOBAL bool set_mtime_option;
-/* Value to be put in mtime header field instead of the actual mtime */
+enum set_mtime_option_mode
+{
+  USE_FILE_MTIME,
+  FORCE_MTIME,
+  CLAMP_MTIME,
+};
+
+/* Override actual mtime if set to FORCE_MTIME or CLAMP_MTIME */
+GLOBAL enum set_mtime_option_mode set_mtime_option;
+/* Value to use when forcing or clamping the mtime header field. */
 GLOBAL struct timespec mtime_option;
 
-/* Return true if newer_mtime_option is initialized.  */
-#define NEWER_OPTION_INITIALIZED(opt) (0 <= (opt).tv_nsec)
+/* Return true if mtime_option or newer_mtime_option is initialized.  */
+#define TIME_OPTION_INITIALIZED(opt) (0 <= (opt).tv_nsec)
 
 /* Return true if the struct stat ST's M time is less than
    newer_mtime_option.  */
@@ -280,6 +287,15 @@ GLOBAL bool sparse_option;
 GLOBAL unsigned tar_sparse_major;
 GLOBAL unsigned tar_sparse_minor;
 
+enum hole_detection_method
+  {
+    HOLE_DETECTION_DEFAULT,
+    HOLE_DETECTION_RAW,
+    HOLE_DETECTION_SEEK
+  };
+
+GLOBAL enum hole_detection_method hole_detection;
+
 GLOBAL bool starting_file_option;
 
 /* Specified maximum byte length of each tape volume (multiple of 1024).  */
@@ -399,9 +415,8 @@ GLOBAL bool show_transformed_names_option;
    set for incremental archives. */
 GLOBAL bool delay_directory_restore_option;
 
-/* Warn about implicit use of the wildcards in command line arguments.
-   (Default for tar prior to 1.15.91, but changed afterwards */
-GLOBAL bool warn_regex_usage;
+/* When set, tar will not refuse to create empty archives */
+GLOBAL bool files_from_option;
 \f
 /* Declarations for each module.  */
 
@@ -453,7 +468,7 @@ void set_start_time (void);
 #define TF_READ    0
 #define TF_WRITE   1
 #define TF_DELETED 2
-int format_total_stats (FILE *fp, const char **formats, int eor, int eol);
+int format_total_stats (FILE *fp, char const *const *formats, int eor, int eol);
 void print_total_stats (void);
 
 void mv_begin_write (const char *file_name, off_t totsize, off_t sizeleft);
@@ -523,6 +538,8 @@ void extract_archive (void);
 void extract_finish (void);
 bool rename_directory (char *src, char *dst);
 
+void remove_delayed_set_stat (const char *fname);
+
 /* Module delete.c.  */
 
 void delete_archive_members (void);
@@ -618,8 +635,6 @@ 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_dirname (void);
 
@@ -723,9 +738,7 @@ void uid_to_uname (uid_t uid, char **uname);
 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_add_name (const char *name);
 void name_term (void);
 const char *name_next (int change_dirs);
 void name_gather (void);
@@ -739,7 +752,7 @@ void collect_and_sort_names (void);
 struct name *name_scan (const char *name);
 struct name const *name_from_list (void);
 void blank_name_list (void);
-char *new_name (const char *dir_name, const char *name);
+char *make_file_name (const char *dir_name, const char *name);
 size_t stripped_prefix_len (char const *file_name, size_t num);
 bool all_names_found (struct tar_stat_info *st);
 
@@ -748,10 +761,12 @@ bool is_avoided_name (char const *name);
 
 bool contains_dot_dot (char const *name);
 
-#define ISFOUND(c) ((occurrence_option == 0) ? (c)->found_count : \
-                    (c)->found_count == occurrence_option)
-#define WASFOUND(c) ((occurrence_option == 0) ? (c)->found_count : \
-                     (c)->found_count >= occurrence_option)
+#define ISFOUND(c) (occurrence_option == 0                     \
+                   ? (c)->found_count != 0                     \
+                   : (c)->found_count == occurrence_option)
+#define WASFOUND(c) (occurrence_option == 0                    \
+                    ? (c)->found_count != 0                    \
+                    : (c)->found_count >= occurrence_option)
 
 /* Module tar.c.  */
 
@@ -769,7 +784,26 @@ 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);
+
+/* Where an option comes from: */
+enum option_source
+  {
+    OPTS_ENVIRON,        /* Environment variable TAR_OPTIONS */
+    OPTS_COMMAND_LINE,   /* Command line */
+    OPTS_FILE            /* File supplied by --files-from */
+  };
+
+/* Option location */
+struct option_locus
+{
+  enum option_source source;  /* Option origin */
+  char const *name;           /* File or variable name */
+  size_t line;                /* Number of input line if source is OPTS_FILE */
+  struct option_locus *prev;  /* Previous occurrence of the option of same
+                                class */
+};
+
+void more_options (int argc, char **argv, struct option_locus *loc);
 
 /* Module update.c.  */
 
@@ -926,9 +960,15 @@ extern void (*fatal_exit_hook) (void);
 
 void excfile_add (const char *name, int flags);
 void info_attach_exclist (struct tar_stat_info *dir);
-void info_cleanup_exclist (struct tar_stat_info *dir);
 void info_free_exclist (struct tar_stat_info *dir);
 bool excluded_name (char const *name, struct tar_stat_info *st);
 void exclude_vcs_ignores (void);
 
+/* Module map.c */
+void owner_map_read (char const *name);
+int owner_map_translate (uid_t uid, uid_t *new_uid, char const **new_name);
+void group_map_read (char const *file);
+int group_map_translate (gid_t gid, gid_t *new_gid, char const **new_name);
+
+
 _GL_INLINE_HEADER_END
index d29cfdd4822f683dec5c7dfb8dc01544c62330ce..3f91279bde0930c451296560452c28de9eb7850c 100644 (file)
@@ -1,7 +1,7 @@
 /* Diff files from a tar archive.
 
    Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2007,
-   2009-2010, 2012-2014 Free Software Foundation, Inc.
+   2009-2010, 2012-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -270,11 +270,12 @@ diff_link (void)
 static void
 diff_symlink (void)
 {
+  char buf[1024];
   size_t len = strlen (current_stat_info.link_name);
-  char *linkbuf = alloca (len + 1);
+  char *linkbuf = len < sizeof buf ? buf : xmalloc (len + 1);
 
-  int status = readlinkat (chdir_fd, current_stat_info.file_name,
-                          linkbuf, len + 1);
+  ssize_t status = readlinkat (chdir_fd, current_stat_info.file_name,
+                              linkbuf, len + 1);
 
   if (status < 0)
     {
@@ -285,8 +286,11 @@ diff_symlink (void)
       report_difference (&current_stat_info, NULL);
     }
   else if (status != len
-          || strncmp (current_stat_info.link_name, linkbuf, len) != 0)
+          || memcmp (current_stat_info.link_name, linkbuf, len) != 0)
     report_difference (&current_stat_info, _("Symlink differs"));
+
+  if (linkbuf != buf)
+    free (linkbuf);
 }
 #endif
 
index e2f4ede6b8d12c1200c931f9f425c9537a72906b..3a0f2dce9267bfd7b25999a5e6539a5b3b989d17 100644 (file)
@@ -1,7 +1,7 @@
 /* Create a tar archive.
 
    Copyright 1985, 1992-1994, 1996-1997, 1999-2001, 2003-2007,
-   2009-2010, 2012-2014 Free Software Foundation, Inc.
+   2009-2010, 2012-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -22,6 +22,7 @@
 
 #include <system.h>
 
+#include <areadlink.h>
 #include <quotearg.h>
 
 #include "common.h"
@@ -706,7 +707,7 @@ write_extended (bool global, struct tar_stat_info *st, union block *old_header)
     {
       type = XHDTYPE;
       p = xheader_xhdr_name (st);
-      t = st->stat.st_mtime;
+      t = set_mtime_option ? mtime_option.tv_sec : st->stat.st_mtime;
     }
   xheader_write (type, p, t, &st->xhdr);
   free (p);
@@ -740,17 +741,17 @@ union block *
 start_header (struct tar_stat_info *st)
 {
   union block *header;
-
+  char const *uname = NULL;
+  char const *gname = NULL;
+  
   header = write_header_name (st);
   if (!header)
     return NULL;
 
   /* Override some stat fields, if requested to do so.  */
+  owner_map_translate (st->stat.st_uid, &st->stat.st_uid, &uname);
+  group_map_translate (st->stat.st_gid, &st->stat.st_gid, &gname);
 
-  if (owner_option != (uid_t) -1)
-    st->stat.st_uid = owner_option;
-  if (group_option != (gid_t) -1)
-    st->stat.st_gid = group_option;
   if (mode_option)
     st->stat.st_mode =
       ((st->stat.st_mode & ~MODE_ALL)
@@ -822,7 +823,24 @@ start_header (struct tar_stat_info *st)
   }
 
   {
-    struct timespec mtime = set_mtime_option ? mtime_option : st->mtime;
+    struct timespec mtime;
+
+    switch (set_mtime_option)
+      {
+      case USE_FILE_MTIME:
+       mtime = st->mtime;
+       break;
+         
+      case FORCE_MTIME:
+       mtime = mtime_option;
+       break;
+         
+      case CLAMP_MTIME:
+       mtime = timespec_cmp (st->mtime, mtime_option) > 0
+                  ? mtime_option : st->mtime;
+       break;
+      }
+
     if (archive_format == POSIX_FORMAT)
       {
        if (MAX_OCTAL_VAL (header->header.mtime) < mtime.tv_sec
@@ -909,13 +927,13 @@ start_header (struct tar_stat_info *st)
     }
   else
     {
-      if (owner_name_option)
-       st->uname = xstrdup (owner_name_option);
+      if (uname)
+       st->uname = xstrdup (uname);
       else
        uid_to_uname (st->stat.st_uid, &st->uname);
 
-      if (group_name_option)
-       st->gname = xstrdup (group_name_option);
+      if (gname)
+       st->gname = xstrdup (gname);
       else
        gid_to_gname (st->stat.st_gid, &st->gname);
 
@@ -1114,7 +1132,7 @@ dump_dir0 (struct tar_stat_info *st, char const *directory)
     return;
 
   info_attach_exclist (st);
-  
+
   if (incremental_option && archive_format != POSIX_FORMAT)
     blk->header.typeflag = GNUTYPE_DUMPDIR;
   else /* if (standard_option) */
@@ -1198,7 +1216,7 @@ dump_dir0 (struct tar_stat_info *st, char const *directory)
            char const *entry;
            size_t entry_len;
            size_t name_len;
-           
+
            name_buf = xstrdup (st->orig_file_name);
            name_size = name_len = strlen (name_buf);
 
@@ -1472,8 +1490,8 @@ dump_hard_link (struct tar_stat_info *st)
          /* We found a link.  */
          char const *link_name = safer_name_suffix (duplicate->name, true,
                                                     absolute_names_option);
-
-         duplicate->nlink--;
+         if (duplicate->nlink)
+           duplicate->nlink--;
 
          block_ordinal = current_block_ordinal ();
          assign_string (&st->link_name, link_name);
@@ -1837,22 +1855,17 @@ dump_file0 (struct tar_stat_info *st, char const *name, char const *p)
 #ifdef HAVE_READLINK
   else if (S_ISLNK (st->stat.st_mode))
     {
-      char *buffer;
-      int size;
-      size_t linklen = st->stat.st_size;
-      if (linklen != st->stat.st_size || linklen + 1 == 0)
-       xalloc_die ();
-      buffer = (char *) alloca (linklen + 1);
-      size = readlinkat (parentfd, name, buffer, linklen + 1);
-      if (size < 0)
+      st->link_name = areadlinkat_with_size (parentfd, name, st->stat.st_size);
+      if (!st->link_name)
        {
+         if (errno == ENOMEM)
+           xalloc_die ();
          file_removed_diag (p, top_level, readlink_diag);
          return;
        }
-      buffer[size] = '\0';
-      assign_string (&st->link_name, buffer);
       transform_name (&st->link_name, XFORM_SYMLINK);
-      if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT) < size)
+      if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
+         < strlen (st->link_name))
        write_long_link (st);
 
       xattrs_selinux_get (parentfd, name, st, 0);
index 337b922fd8089aa17a60c762df9ac96ba37db827..93e8d8d434124130fc59d61a2cb9d0adfe809ead 100644 (file)
@@ -1,7 +1,7 @@
 /* Delete entries from a tar archive.
 
    Copyright 1988, 1992, 1994, 1996-1997, 2000-2001, 2003-2006, 2010,
-   2013-2014 Free Software Foundation, Inc.
+   2013-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
index 7cccc745e116bb61c0e38dc82a8cf92ce19e8ae4..f6e88532789536ea0871055d92219e9d5bbc9e26 100644 (file)
@@ -1,6 +1,6 @@
 /* Per-directory exclusion files for tar.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -43,7 +43,7 @@ struct excfile
   char name[1];
 };
 
-struct excfile *excfile_head, *excfile_tail;
+static struct excfile *excfile_head, *excfile_tail;
 
 void
 excfile_add (const char *name, int flags)
@@ -72,7 +72,7 @@ info_attach_exclist (struct tar_stat_info *dir)
   struct excfile *file;
   struct exclist *head = NULL, *tail = NULL, *ent;
   struct vcs_ignore_file *vcsfile;
-    
+
   if (dir->exclude_list)
     return;
   for (file = excfile_head; file; file = file->next)
@@ -102,7 +102,7 @@ info_attach_exclist (struct tar_stat_info *dir)
 
          if (vcsfile->initfn)
            vcsfile->data = vcsfile->initfn (vcsfile->data);
-         
+
          if (add_exclude_fp (vcsfile->addfn, ex, fp,
                              EXCLUDE_WILDCARDS|EXCLUDE_ANCHORED, '\n',
                              vcsfile->data))
@@ -111,7 +111,7 @@ info_attach_exclist (struct tar_stat_info *dir)
              FATAL_ERROR ((0, e, "%s", quotearg_colon (file->name)));
            }
          fclose (fp);
-         
+
          ent = xmalloc (sizeof (*ent));
          ent->excluded = ex;
          ent->flags = file->flags == EXCL_DEFAULT
@@ -129,34 +129,6 @@ info_attach_exclist (struct tar_stat_info *dir)
   dir->exclude_list = head;
 }
 
-void
-info_cleanup_exclist (struct tar_stat_info *dir)
-{
-  struct exclist *ep = dir->exclude_list;
-
-  while (ep)
-    {
-      struct exclist *next = ep->next;
-      
-      if (ep->flags & EXCL_NON_RECURSIVE)
-       {
-         
-         /* Remove the entry */
-         if (ep->prev)
-           ep->prev->next = ep->next;
-         else
-           dir->exclude_list = ep->next;
-
-         if (ep->next)
-           ep->next->prev = ep->prev;
-
-         free_exclude (ep->excluded);
-         free (ep);
-       }
-      ep = next;
-    }
-}
-
 void
 info_free_exclist (struct tar_stat_info *dir)
 {
@@ -172,7 +144,7 @@ info_free_exclist (struct tar_stat_info *dir)
 
   dir->exclude_list = NULL;
 }
-  
+
 
 /* Return nonzero if file NAME is excluded.  */
 bool
@@ -183,7 +155,7 @@ excluded_name (char const *name, struct tar_stat_info *st)
   char *bname = NULL;
   bool result;
   int nr = 0;
-  
+
   name += FILE_SYSTEM_PREFIX_LEN (name);
 
   /* Try global exclusion list first */
@@ -192,7 +164,7 @@ excluded_name (char const *name, struct tar_stat_info *st)
 
   if (!st)
     return false;
-  
+
   for (result = false; st && !result; st = st->parent, nr = EXCL_NON_RECURSIVE)
     {
       for (ep = st->exclude_list; ep; ep = ep->next)
@@ -201,7 +173,7 @@ excluded_name (char const *name, struct tar_stat_info *st)
            continue;
          if ((result = excluded_file_name (ep->excluded, name)))
            break;
-         
+
          if (!rname)
            {
              rname = name;
@@ -229,8 +201,8 @@ cvs_addfn (struct exclude *ex, char const *pattern, int options, void *data)
 {
   struct wordsplit ws;
   size_t i;
-    
-  if (wordsplit (pattern, &ws, 
+
+  if (wordsplit (pattern, &ws,
                 WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_SQUEEZE_DELIMS))
     return;
   for (i = 0; i < ws.ws_wordc; i++)
@@ -278,22 +250,18 @@ bzr_addfn (struct exclude *ex, char const *pattern, int options, void *data)
 static void *
 hg_initfn (void *data)
 {
-  int *hgopt;
   static int hg_options;
-  
-  if (!data)
-    hgopt = &hg_options;
-
+  int *hgopt = data ? data : &hg_options;
   *hgopt = EXCLUDE_REGEX;
   return hgopt;
 }
-  
+
 static void
 hg_addfn (struct exclude *ex, char const *pattern, int options, void *data)
 {
   int *hgopt = data;
   size_t len;
-  
+
   while (isspace (*pattern))
     ++pattern;
   if (*pattern == 0 || *pattern == '#')
@@ -318,27 +286,27 @@ hg_addfn (struct exclude *ex, char const *pattern, int options, void *data)
 
       --len;
       p = xmalloc (len+1);
-      memcpy (p, pattern, len); 
+      memcpy (p, pattern, len);
       p[len] = 0;
       pattern = p;
       exclude_add_pattern_buffer (ex, p);
       options |= FNM_LEADING_DIR|EXCLUDE_ALLOC;
     }
-  
+
   add_exclude (ex, pattern,
               ((*hgopt == EXCLUDE_REGEX)
                ? (options & ~EXCLUDE_WILDCARDS)
                : (options & ~EXCLUDE_REGEX)) | *hgopt);
 }
 \f
-struct vcs_ignore_file vcs_ignore_files[] = {
+static struct vcs_ignore_file vcs_ignore_files[] = {
   { ".cvsignore", EXCL_NON_RECURSIVE, cvs_addfn, NULL, NULL },
   { ".gitignore", 0, git_addfn, NULL, NULL },
   { ".bzrignore", 0, bzr_addfn, NULL, NULL },
-  { ".hgignore",  0, hg_addfn, hg_initfn , NULL },
+  { ".hgignore",  0, hg_addfn, hg_initfn, NULL },
   { NULL, 0, git_addfn, NULL, NULL }
 };
-  
+
 static struct vcs_ignore_file *
 get_vcs_ignore_file (const char *name)
 {
index 411d6306ed2d968053f3e0a8d010c0a2b4932d53..17dc1ff043f12077ce8539f53fa35e7266401547 100644 (file)
@@ -1,6 +1,6 @@
 /* Exit from GNU tar.
 
-   Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
index ca25603a45b5570b284f976d02addaf32c98427c..f982433d77fff9aff5e30a8f28fa62b767b63b99 100644 (file)
@@ -1,7 +1,7 @@
 /* Extract files from a tar archive.
 
-   Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2014 Free
-   Software Foundation, Inc.
+   Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2014,
+   2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -109,7 +109,7 @@ struct delayed_set_stat
     struct xattr_array *xattr_map;
     /* Length and contents of name.  */
     size_t file_name_len;
-    char file_name[1];
+    char *file_name;
   };
 
 static struct delayed_set_stat *delayed_set_stat_head;
@@ -441,9 +441,7 @@ delay_set_stat (char const *file_name, struct tar_stat_info const *st,
                mode_t mode, int atflag)
 {
   size_t file_name_len = strlen (file_name);
-  struct delayed_set_stat *data =
-    xmalloc (offsetof (struct delayed_set_stat, file_name)
-            + file_name_len + 1);
+  struct delayed_set_stat *data = xmalloc (sizeof (*data));
   data->next = delayed_set_stat_head;
   data->mode = mode;
   if (st)
@@ -456,6 +454,7 @@ delay_set_stat (char const *file_name, struct tar_stat_info const *st,
       data->mtime = st->mtime;
     }
   data->file_name_len = file_name_len;
+  data->file_name = xstrdup (file_name);
   data->current_mode = current_mode;
   data->current_mode_mask = current_mode_mask;
   data->interdir = ! st;
@@ -537,6 +536,56 @@ repair_delayed_set_stat (char const *dir,
          quotearg_colon (dir)));
 }
 
+static void
+free_delayed_set_stat (struct delayed_set_stat *data)
+{
+  free (data->file_name);
+  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);
+}
+
+void
+remove_delayed_set_stat (const char *fname)
+{
+  struct delayed_set_stat *data, *next, *prev = NULL;
+  for (data = delayed_set_stat_head; data; data = next)
+    {
+      next = data->next;
+      if (chdir_current == data->change_dir
+         && strcmp (data->file_name, fname) == 0)
+       {
+         free_delayed_set_stat (data);
+         if (prev)
+           prev->next = next;
+         else
+           delayed_set_stat_head = next;
+         return;
+       }
+      else
+       prev = data;
+    }
+}
+
+static void
+fixup_delayed_set_stat (char const *src, char const *dst)
+{
+  struct delayed_set_stat *data;
+  for (data = delayed_set_stat_head; data; data = data->next)
+    {
+      if (chdir_current == data->change_dir
+         && strcmp (data->file_name, src) == 0)
+       {
+         free (data->file_name);
+         data->file_name = xstrdup (dst);
+         data->file_name_len = strlen (dst);
+         return;
+       }
+    }
+}
+
 /* After a file/link/directory creation has failed, see if
    it's because some required directory was not present, and if so,
    create all required directories.  Return zero if all the required
@@ -846,11 +895,7 @@ apply_nonancestor_delayed_set_stat (char const *file_name, bool after_links)
        }
 
       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);
+      free_delayed_set_stat (data);
     }
 }
 
@@ -1741,7 +1786,9 @@ extract_finish (void)
 bool
 rename_directory (char *src, char *dst)
 {
-  if (renameat (chdir_fd, src, chdir_fd, dst) != 0)
+  if (renameat (chdir_fd, src, chdir_fd, dst) == 0)
+    fixup_delayed_set_stat (src, dst);
+  else
     {
       int e = errno;
       bool interdir_made;
index b1b70ba41764b04049853d12834cf520d12f0254..19d0b9bc07833bec2812b4d698e4ce0ddefbf2a2 100644 (file)
@@ -1,7 +1,7 @@
 /* GNU dump extensions to tar.
 
-   Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2009, 2013-2014
-   Free Software Foundation, Inc.
+   Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2009,
+   2013-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -735,7 +735,7 @@ scan_directory (struct tar_stat_info *st)
     savedir_error (dir);
 
   info_attach_exclist (st);
-  
+
   tmp = xstrdup (dir);
   zap_slashes (tmp);
 
@@ -1155,11 +1155,14 @@ read_num (FILE *fp, char const *fieldname,
     }
 
   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));
+    {
+      unsigned uc = 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, uc));
+    }
 
   *pval = strtosysint (buf, NULL, min_val, max_val);
   conversion_errno = errno;
@@ -1541,9 +1544,10 @@ dumpdir_ok (char *dumpdir)
     {
       if (expect && *p != expect)
        {
+         unsigned char uc = *p;
          ERROR ((0, 0,
                  _("Malformed dumpdir: expected '%c' but found %#3o"),
-                 expect, *p));
+                 expect, uc));
          return false;
        }
       switch (*p)
@@ -1578,7 +1582,7 @@ dumpdir_ok (char *dumpdir)
          if (expect != 'T')
            {
              ERROR ((0, 0,
-                     _("Malformed dumpdir: 'T' not preceeded by 'R'")));
+                     _("Malformed dumpdir: 'T' not preceded by 'R'")));
              return false;
            }
          if (p[1] == 0 && !has_tempdir)
@@ -1708,7 +1712,7 @@ try_purge_directory (char const *directory_name)
       const char *entry;
       struct stat st;
       free (p);
-      p = new_name (directory_name, cur);
+      p = make_file_name (directory_name, cur);
 
       if (deref_stat (p, &st) != 0)
        {
index b4277e028e59f9672fbb5b247574fcad5c8e41c9..8eef25d40bf1c88219bcd4b36eddb71a7507bd7b 100644 (file)
@@ -1,6 +1,6 @@
 /* List a tar archive, with support routines for reading a tar archive.
 
-   Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2014 Free
+   Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2016 Free
    Software Foundation, Inc.
 
    This file is part of GNU tar.
@@ -124,18 +124,20 @@ enforce_one_top_level (char **pfile_name)
   for (p = file_name; *p && (ISSLASH (*p) || *p == '.'); p++)
     ;
 
-  if (!*p)
-    return;
-
-  if (strncmp (p, one_top_level_dir, strlen (one_top_level_dir)) == 0)
+  if (*p)
     {
       int pos = strlen (one_top_level_dir);
-      if (ISSLASH (p[pos]) || p[pos] == 0)
-       return;
+      if (strncmp (p, one_top_level_dir, pos) == 0)
+       {
+         if (ISSLASH (p[pos]) || p[pos] == 0)
+           return;
+       }
+    
+      *pfile_name = make_file_name (one_top_level_dir, file_name);
+      normalize_filename_x (*pfile_name);
     }
-
-  *pfile_name = new_name (one_top_level_dir, file_name);
-  normalize_filename_x (*pfile_name);
+  else
+    *pfile_name = xstrdup (one_top_level_dir);
   free (file_name);
 }
 
@@ -193,7 +195,7 @@ read_and (void (*do_something) (void))
          decode_header (current_header, &current_stat_info,
                         &current_format, 1);
          if (! name_match (current_stat_info.file_name)
-             || (NEWER_OPTION_INITIALIZED (newer_mtime_option)
+             || (TIME_OPTION_INITIALIZED (newer_mtime_option)
                  /* FIXME: We get mtime now, and again later; this causes
                     duplicate diagnostics if header.mtime is bogus.  */
                  && ((mtime.tv_sec
@@ -689,7 +691,6 @@ decode_header (union block *header, struct tar_stat_info *stat_info,
        }
     }
 
-  stat_info->archive_file_size = stat_info->stat.st_size;
   xheader_decode (stat_info);
 
   if (sparse_member_p (stat_info))
@@ -1218,18 +1219,7 @@ simple_print_header (struct tar_stat_info *st, union block *blk,
          && !numeric_owner_option)
        user = st->uname;
       else
-       {
-         /* Try parsing it as an unsigned integer first, and as a
-            uid_t if that fails.  This method can list positive user
-            ids that are too large to fit in a uid_t.  */
-         uintmax_t u = from_header (blk->header.uid,
-                                    sizeof blk->header.uid, 0,
-                                    0, UINTMAX_MAX,
-                                    false, false);
-         user = (u != -1
-                 ? STRINGIFY_BIGINT (u, uform)
-                 : imaxtostr (UID_FROM_HEADER (blk->header.uid), uform));
-       }
+       user = STRINGIFY_BIGINT (st->stat.st_uid, uform);
 
       if (st->gname
          && st->gname[0]
@@ -1237,18 +1227,7 @@ simple_print_header (struct tar_stat_info *st, union block *blk,
          && !numeric_owner_option)
        group = st->gname;
       else
-       {
-         /* Try parsing it as an unsigned integer first, and as a
-            gid_t if that fails.  This method can list positive group
-            ids that are too large to fit in a gid_t.  */
-         uintmax_t g = from_header (blk->header.gid,
-                                    sizeof blk->header.gid, 0,
-                                    0, UINTMAX_MAX,
-                                    false, false);
-         group = (g != -1
-                  ? STRINGIFY_BIGINT (g, gform)
-                  : imaxtostr (GID_FROM_HEADER (blk->header.gid), gform));
-       }
+       group = STRINGIFY_BIGINT (st->stat.st_gid, gform);
 
       /* Format the file size or major/minor device numbers.  */
 
diff --git a/src/map.c b/src/map.c
new file mode 100644 (file)
index 0000000..0cd9861
--- /dev/null
+++ b/src/map.c
@@ -0,0 +1,283 @@
+/* Owner/group mapping for tar
+
+   Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.  */
+
+#include <system.h>
+#include "common.h"
+#include "wordsplit.h"
+#include <hash.h>
+#include <pwd.h>
+
+struct mapentry
+{
+  uintmax_t orig_id;
+  uintmax_t new_id;
+  char *new_name;
+};
+
+static size_t
+map_hash (void const *entry, size_t nbuckets)
+{
+  struct mapentry const *map = entry;
+  return map->orig_id % nbuckets;
+}
+
+static bool
+map_compare (void const *entry1, void const *entry2)
+{
+  struct mapentry const *map1 = entry1;
+  struct mapentry const *map2 = entry2;
+  return map1->orig_id == map2->orig_id;
+}
+
+static int
+parse_id (uintmax_t *retval,
+         char const *arg, char const *what, uintmax_t maxval,
+         char const *file, unsigned line)
+{
+  uintmax_t v;
+  char *p;
+  
+  errno = 0;
+  v = strtoumax (arg, &p, 10);
+  if (*p || errno)
+    {
+      error (0, 0, _("%s:%u: invalid %s: %s"),  file, line, what, arg);
+      return -1;
+    }
+  if (v > maxval)
+    {
+      error (0, 0, _("%s:%u: %s out of range: %s"), file, line, what, arg);
+      return -1;
+    }
+  *retval = v;
+  return 0;
+}
+
+static void
+map_read (Hash_table **ptab, char const *file,
+         uintmax_t (*name_to_id) (char const *), char const *what,
+         uintmax_t maxval)
+{
+  FILE *fp;
+  char *buf = NULL;
+  size_t bufsize = 0;
+  ssize_t n;
+  struct wordsplit ws;
+  int wsopt;
+  unsigned line;
+  int err = 0;
+  
+  fp = fopen (file, "r");
+  if (!fp)
+    open_fatal (file);
+
+  ws.ws_comment = "#";
+  wsopt = WRDSF_COMMENT | WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_SQUEEZE_DELIMS
+          | WRDSF_QUOTE;
+  line = 0;
+  while ((n = getline (&buf, &bufsize, fp)) > 0)
+    {
+      struct mapentry *ent;
+      uintmax_t orig_id, new_id;
+      char *name = NULL;
+      char *colon;
+      
+      ++line;
+      if (wordsplit (buf, &ws, wsopt))
+       FATAL_ERROR ((0, 0, _("%s:%u: cannot split line: %s"),
+                     file, line, wordsplit_strerror (&ws)));
+      wsopt |= WRDSF_REUSE;
+      if (ws.ws_wordc == 0)
+       continue;
+      if (ws.ws_wordc != 2)
+       {
+         error (0, 0, _("%s:%u: malformed line"), file, line);
+         err = 1;
+         continue;
+       }
+
+      if (ws.ws_wordv[0][0] == '+')
+       {
+         if (parse_id (&orig_id, ws.ws_wordv[0]+1, what, maxval, file, line)) 
+           {
+             err = 1;
+             continue;
+           }
+       }
+      else if (name_to_id)
+       {
+         orig_id = name_to_id (ws.ws_wordv[0]);
+         if (orig_id == UINTMAX_MAX)
+           {
+             error (0, 0, _("%s:%u: can't obtain %s of %s"),
+                    file, line, what, ws.ws_wordv[0]);
+             err = 1;
+             continue;
+           }
+       }
+
+      colon = strchr (ws.ws_wordv[1], ':');
+      if (colon)
+       {
+         if (colon > ws.ws_wordv[1])
+           name = ws.ws_wordv[1];
+         *colon++ = 0;
+         if (parse_id (&new_id, colon, what, maxval, file, line)) 
+           {
+             err = 1;
+             continue;
+           }
+       }
+      else if (ws.ws_wordv[1][0] == '+')
+       {
+         if (parse_id (&new_id, ws.ws_wordv[1], what, maxval, file, line)) 
+           {
+             err = 1;
+             continue;
+           }
+       }
+      else
+       {
+         name = ws.ws_wordv[1];
+         new_id = name_to_id (ws.ws_wordv[1]);
+         if (new_id == UINTMAX_MAX)
+           {
+             error (0, 0, _("%s:%u: can't obtain %s of %s"),
+                    file, line, what, ws.ws_wordv[1]);
+             err = 1;
+             continue;
+           }
+       }
+
+      ent = xmalloc (sizeof (*ent));
+      ent->orig_id = orig_id;
+      ent->new_id = new_id;
+      ent->new_name = name ? xstrdup (name) : NULL;
+      
+      if (!((*ptab
+            || (*ptab = hash_initialize (0, 0, map_hash, map_compare, 0)))
+           && hash_insert (*ptab, ent)))
+       xalloc_die ();
+    }
+  if (wsopt & WRDSF_REUSE)
+    wordsplit_free (&ws);
+  fclose (fp);
+  if (err)
+    FATAL_ERROR ((0, 0, _("errors reading map file")));
+}
+\f
+/* UID translation */
+
+static Hash_table *owner_map;
+
+static uintmax_t
+name_to_uid (char const *name)
+{
+  struct passwd *pw = getpwnam (name);
+  return pw ? pw->pw_uid : UINTMAX_MAX;
+}
+
+void
+owner_map_read (char const *file)
+{
+  map_read (&owner_map, file, name_to_uid, "UID", TYPE_MAXIMUM (uid_t));
+}
+
+int
+owner_map_translate (uid_t uid, uid_t *new_uid, char const **new_name)
+{
+  int rc = 1;
+  
+  if (owner_map)
+    {
+      struct mapentry ent, *res;
+  
+      ent.orig_id = uid;
+      res = hash_lookup (owner_map, &ent);
+      if (res)
+       {
+         *new_uid = res->new_id;
+         *new_name = res->new_name;
+         return 0;
+       }
+    }
+
+  if (owner_option != (uid_t) -1)
+    {
+      *new_uid = owner_option;
+      rc = 0;
+    }
+  if (owner_name_option)
+    {
+      *new_name = owner_name_option;
+      rc = 0;
+    }
+
+  return rc;
+}
+\f
+/* GID translation */
+
+static Hash_table *group_map;
+
+static uintmax_t
+name_to_gid (char const *name)
+{
+  struct group *gr = getgrnam (name);
+  return gr ? gr->gr_gid : UINTMAX_MAX;
+}
+
+void
+group_map_read (char const *file)
+{
+  map_read (&group_map, file, name_to_gid, "GID", TYPE_MAXIMUM (gid_t));
+}
+
+int
+group_map_translate (gid_t gid, gid_t *new_gid, char const **new_name)
+{
+  int rc = 1;
+  
+  if (group_map)
+    {
+      struct mapentry ent, *res;
+  
+      ent.orig_id = gid;
+      res = hash_lookup (group_map, &ent);
+      if (res)
+       {
+         *new_gid = res->new_id;
+         *new_name = res->new_name;
+         return 0;
+       }
+    }
+
+  if (group_option != (uid_t) -1)
+    {
+      *new_gid = group_option;
+      rc = 0;
+    }
+  if (group_name_option)
+    {
+      *new_name = group_name_option;
+      rc = 0;
+    }
+  
+  return rc;
+}
index 8e66643829d46fd894a3defd0e52c19de12386a2..071cf2a105240f1dba3ff665bdc0ac3180c27edc 100644 (file)
@@ -1,7 +1,7 @@
 /* Miscellaneous functions, not really specific to GNU tar.
 
    Copyright 1988, 1992, 1994-1997, 1999-2001, 2003-2007, 2009-2010,
-   2012-2014 Free Software Foundation, Inc.
+   2012-2014, 2016 Free Software Foundation, Inc.
 
    This 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
@@ -29,6 +29,8 @@
 # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
 #endif
 
+static void namebuf_add_dir (namebuf_t, char const *);
+static char *namebuf_finish (namebuf_t);
 static const char *tar_getcdpath (int);
 
 \f
@@ -586,7 +588,12 @@ safer_rmdir (const char *file_name)
       return -1;
     }
 
-  return unlinkat (chdir_fd, file_name, AT_REMOVEDIR);
+  if (unlinkat (chdir_fd, file_name, AT_REMOVEDIR) == 0)
+    {
+      remove_delayed_set_stat (file_name);
+      return 0;
+    }
+  return -1;
 }
 
 /* Remove FILE_NAME, returning 1 on success.  If FILE_NAME is a directory,
@@ -650,7 +657,7 @@ remove_any_file (const char *file_name, enum remove_option option)
                 (entrylen = strlen (entry)) != 0;
                 entry += entrylen + 1)
              {
-               char *file_name_buffer = new_name (file_name, entry);
+               char *file_name_buffer = make_file_name (file_name, entry);
                int r = remove_any_file (file_name_buffer,
                                          RECURSIVE_REMOVE_OPTION);
                int e = errno;
@@ -1106,13 +1113,6 @@ file_removed_diag (const char *name, bool top_level,
     diagfn (name);
 }
 
-void
-write_fatal_details (char const *name, ssize_t status, size_t size)
-{
-  write_error_details (name, status, size);
-  fatal_exit ();
-}
-
 /* Fork, aborting if unsuccessful.  */
 pid_t
 xfork (void)
@@ -1197,7 +1197,7 @@ namebuf_name (namebuf_t buf, const char *name)
   return buf->buffer;
 }
 
-void
+static void
 namebuf_add_dir (namebuf_t buf, const char *name)
 {
   static char dirsep[] = { DIRECTORY_SEPARATOR, 0 };
@@ -1210,7 +1210,7 @@ namebuf_add_dir (namebuf_t buf, const char *name)
   buf->dir_length += strlen (name);
 }
 
-char *
+static char *
 namebuf_finish (namebuf_t buf)
 {
   char *res = buf->buffer;
index 594e7fdd591a3116fb54dfc796c3562e7b5e983b..037b869d7596c9c44476d28aca72acf46c8851c6 100644 (file)
@@ -1,6 +1,6 @@
 /* Various processing of names.
 
-   Copyright 1988, 1992, 1994, 1996-2001, 2003-2007, 2009, 2013-2014
+   Copyright 1988, 1992, 1994, 1996-2001, 2003-2007, 2009, 2013-2016
    Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
 
 #include "common.h"
 \f
+static void name_add_option (int option, const char *arg);
+static void name_add_dir (const char *name);
+static void name_add_file (const char *name);
+\f
+enum
+  {
+    EXCLUDE_BACKUPS_OPTION = 256,
+    EXCLUDE_CACHES_OPTION,
+    EXCLUDE_CACHES_UNDER_OPTION,
+    EXCLUDE_CACHES_ALL_OPTION,
+    EXCLUDE_OPTION,
+    EXCLUDE_IGNORE_OPTION,
+    EXCLUDE_IGNORE_RECURSIVE_OPTION,
+    EXCLUDE_TAG_OPTION,
+    EXCLUDE_TAG_UNDER_OPTION,
+    EXCLUDE_TAG_ALL_OPTION,
+    EXCLUDE_VCS_OPTION,
+    EXCLUDE_VCS_IGNORES_OPTION,
+    IGNORE_CASE_OPTION,
+    NO_IGNORE_CASE_OPTION,
+    ANCHORED_OPTION,
+    NO_ANCHORED_OPTION,
+    RECURSION_OPTION,
+    NO_RECURSION_OPTION,
+    UNQUOTE_OPTION,
+    NO_UNQUOTE_OPTION,
+    NO_VERBATIM_FILES_FROM_OPTION,
+    NO_WILDCARDS_MATCH_SLASH_OPTION,
+    NO_WILDCARDS_OPTION,
+    NULL_OPTION,
+    NO_NULL_OPTION,
+    VERBATIM_FILES_FROM_OPTION,
+    WILDCARDS_MATCH_SLASH_OPTION,
+    WILDCARDS_OPTION
+  };
+
+static struct argp_option names_options[] = {
+#define GRID 100
+  {NULL, 0, NULL, 0,
+   N_("Local file name selection:"), GRID },
+
+  {"add-file", ARGP_KEY_ARG, N_("FILE"), 0,
+   N_("add given FILE to the archive (useful if its name starts with a dash)"), GRID+1 },
+  {"directory", 'C', N_("DIR"), 0,
+   N_("change to directory DIR"), GRID+1 },
+  {"files-from", 'T', N_("FILE"), 0,
+   N_("get names to extract or create from FILE"), GRID+1 },
+  {"null", NULL_OPTION, 0, 0,
+   N_("-T reads null-terminated names; implies --verbatim-files-from"),
+      GRID+1 },
+  {"no-null", NO_NULL_OPTION, 0, 0,
+   N_("disable the effect of the previous --null option"), GRID+1 },
+  {"unquote", UNQUOTE_OPTION, 0, 0,
+   N_("unquote input file or member names (default)"), GRID+1 },
+  {"no-unquote", NO_UNQUOTE_OPTION, 0, 0,
+   N_("do not unquote input file or member names"), GRID+1 },
+  {"verbatim-files-from", VERBATIM_FILES_FROM_OPTION, 0, 0,
+   N_("-T reads file names verbatim (no option handling)"), GRID+1 },
+  {"no-verbatim-files-from", NO_VERBATIM_FILES_FROM_OPTION, 0, 0,
+   N_("-T treats file names starting with dash as options (default)"),
+      GRID+1 },
+  {"exclude", EXCLUDE_OPTION, N_("PATTERN"), 0,
+   N_("exclude files, given as a PATTERN"), GRID+1 },
+  {"exclude-from", 'X', N_("FILE"), 0,
+   N_("exclude patterns listed in FILE"), GRID+1 },
+  {"exclude-caches", EXCLUDE_CACHES_OPTION, 0, 0,
+   N_("exclude contents of directories containing CACHEDIR.TAG, "
+      "except for the tag file itself"), GRID+1 },
+  {"exclude-caches-under", EXCLUDE_CACHES_UNDER_OPTION, 0, 0,
+   N_("exclude everything under directories containing CACHEDIR.TAG"),
+   GRID+1 },
+  {"exclude-caches-all", EXCLUDE_CACHES_ALL_OPTION, 0, 0,
+   N_("exclude directories containing CACHEDIR.TAG"), GRID+1 },
+  {"exclude-tag", EXCLUDE_TAG_OPTION, N_("FILE"), 0,
+   N_("exclude contents of directories containing FILE, except"
+      " for FILE itself"), GRID+1 },
+  {"exclude-ignore", EXCLUDE_IGNORE_OPTION, N_("FILE"), 0,
+    N_("read exclude patterns for each directory from FILE, if it exists"),
+   GRID+1 },
+  {"exclude-ignore-recursive", EXCLUDE_IGNORE_RECURSIVE_OPTION, N_("FILE"), 0,
+    N_("read exclude patterns for each directory and its subdirectories "
+       "from FILE, if it exists"), GRID+1 },
+  {"exclude-tag-under", EXCLUDE_TAG_UNDER_OPTION, N_("FILE"), 0,
+   N_("exclude everything under directories containing FILE"), GRID+1 },
+  {"exclude-tag-all", EXCLUDE_TAG_ALL_OPTION, N_("FILE"), 0,
+   N_("exclude directories containing FILE"), GRID+1 },
+  {"exclude-vcs", EXCLUDE_VCS_OPTION, NULL, 0,
+   N_("exclude version control system directories"), GRID+1 },
+  {"exclude-vcs-ignores", EXCLUDE_VCS_IGNORES_OPTION, NULL, 0,
+   N_("read exclude patterns from the VCS ignore files"), GRID+1 },
+  {"exclude-backups", EXCLUDE_BACKUPS_OPTION, NULL, 0,
+   N_("exclude backup and lock files"), GRID+1 },
+  {"recursion", RECURSION_OPTION, 0, 0,
+   N_("recurse into directories (default)"), GRID+1 },
+  {"no-recursion", NO_RECURSION_OPTION, 0, 0,
+   N_("avoid descending automatically in directories"), GRID+1 },
+#undef GRID
+
+#define GRID 120
+  {NULL, 0, NULL, 0,
+   N_("File name matching options (affect both exclude and include patterns):"),
+   GRID },
+  {"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 },
+  {"ignore-case", IGNORE_CASE_OPTION, 0, 0,
+   N_("ignore case"), GRID+1 },
+  {"no-ignore-case", NO_IGNORE_CASE_OPTION, 0, 0,
+   N_("case sensitive matching (default)"), GRID+1 },
+  {"wildcards", WILDCARDS_OPTION, 0, 0,
+   N_("use wildcards (default for exclusion)"), GRID+1 },
+  {"no-wildcards", NO_WILDCARDS_OPTION, 0, 0,
+   N_("verbatim string matching"), GRID+1 },
+  {"wildcards-match-slash", WILDCARDS_MATCH_SLASH_OPTION, 0, 0,
+   N_("wildcards match '/' (default for exclusion)"), GRID+1 },
+  {"no-wildcards-match-slash", NO_WILDCARDS_MATCH_SLASH_OPTION, 0, 0,
+   N_("wildcards do not match '/'"), GRID+1 },
+#undef GRID
+  
+  {NULL}
+};
+
+static bool
+is_file_selection_option (int key)
+{
+  struct argp_option *p;
+
+  for (p = names_options;
+       !(p->name == NULL && p->key == 0 && p->doc == NULL); p++)
+    if (p->key == key)
+      return true;
+  return false;
+}  
+\f
+/* Either NL or NUL, as decided by the --null option.  */
+static char filename_terminator = '\n';
+/* Treat file names read from -T input verbatim */
+static bool verbatim_files_from_option;
+
+static error_t
+names_parse_opt (int key, char *arg, struct argp_state *state)
+{
+  switch (key)
+    {
+    case 'C':
+      name_add_dir (arg);
+      break;
+
+    case 'T':
+      name_add_file (arg);
+      /* Indicate we've been given -T option. This is for backward
+        compatibility only, so that `tar cfT archive /dev/null will
+        succeed */
+      files_from_option = true;
+      break;
+
+    default:
+      if (is_file_selection_option (key))
+       name_add_option (key, arg);
+      else
+       return ARGP_ERR_UNKNOWN;
+    }
+  return 0;
+}
+\f
+/* Wildcard matching settings */
+enum wildcards
+  {
+    default_wildcards, /* For exclusion == enable_wildcards,
+                         for inclusion == disable_wildcards */
+    disable_wildcards,
+    enable_wildcards
+  };
+
+static enum wildcards wildcards = default_wildcards;
+  /* Wildcard settings (--wildcards/--no-wildcards) */
+static int matching_flags = 0;
+  /* exclude_fnmatch options */
+static int include_anchored = EXCLUDE_ANCHORED;
+  /* Pattern anchoring options used for file inclusion */
+  
+#define EXCLUDE_OPTIONS                                                \
+  (((wildcards != disable_wildcards) ? EXCLUDE_WILDCARDS : 0)  \
+  | matching_flags                                             \
+  | recursion_option)
+
+#define INCLUDE_OPTIONS                                                    \
+  (((wildcards == enable_wildcards) ? EXCLUDE_WILDCARDS : 0)       \
+  | include_anchored                                               \
+  | matching_flags                                                 \
+  | recursion_option)
+\f
+static char const * const vcs_file_table[] = {
+  /* CVS: */
+  "CVS",
+  ".cvsignore",
+  /* RCS: */
+  "RCS",
+  /* SCCS: */
+  "SCCS",
+  /* SVN: */
+  ".svn",
+  /* git: */
+  ".git",
+  ".gitignore",
+  ".gitattributes",
+  ".gitmodules",
+  /* Arch: */
+  ".arch-ids",
+  "{arch}",
+  "=RELEASE-ID",
+  "=meta-update",
+  "=update",
+  /* Bazaar */
+  ".bzr",
+  ".bzrignore",
+  ".bzrtags",
+  /* Mercurial */
+  ".hg",
+  ".hgignore",
+  ".hgtags",
+  /* darcs */
+  "_darcs",
+  NULL
+};
+
+static char const * const backup_file_table[] = {
+  ".#*",
+  "*~",
+  "#*#",
+  NULL
+};
+
+static void
+add_exclude_array (char const * const * fv, int opts)
+{
+  int i;
+
+  for (i = 0; fv[i]; i++)
+    add_exclude (excluded, fv[i], opts);
+}
+\f
+static void
+handle_file_selection_option (int key, const char *arg)
+{
+  switch (key)
+    {
+    case EXCLUDE_BACKUPS_OPTION:
+      add_exclude_array (backup_file_table, EXCLUDE_WILDCARDS);
+      break;
+
+    case EXCLUDE_OPTION:
+      add_exclude (excluded, arg, EXCLUDE_OPTIONS);
+      break;
+
+    case EXCLUDE_CACHES_OPTION:
+      add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_contents,
+                        cachedir_file_p);
+      break;
+
+    case EXCLUDE_CACHES_UNDER_OPTION:
+      add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_under,
+                        cachedir_file_p);
+      break;
+
+    case EXCLUDE_CACHES_ALL_OPTION:
+      add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_all,
+                        cachedir_file_p);
+      break;
+
+    case EXCLUDE_IGNORE_OPTION:
+      excfile_add (arg, EXCL_NON_RECURSIVE);
+      break;
+
+    case EXCLUDE_IGNORE_RECURSIVE_OPTION:
+      excfile_add (arg, EXCL_RECURSIVE);
+      break;
+
+    case EXCLUDE_TAG_OPTION:
+      add_exclusion_tag (arg, exclusion_tag_contents, NULL);
+      break;
+
+    case EXCLUDE_TAG_UNDER_OPTION:
+      add_exclusion_tag (arg, exclusion_tag_under, NULL);
+      break;
+
+    case EXCLUDE_TAG_ALL_OPTION:
+      add_exclusion_tag (arg, exclusion_tag_all, NULL);
+      break;
+
+    case EXCLUDE_VCS_OPTION:
+      add_exclude_array (vcs_file_table, 0);
+      break;
+
+    case EXCLUDE_VCS_IGNORES_OPTION:
+      exclude_vcs_ignores ();
+      break;
+
+    case RECURSION_OPTION:
+      recursion_option = FNM_LEADING_DIR;
+      break;
+
+    case NO_RECURSION_OPTION:
+      recursion_option = 0;
+      break;
+
+    case UNQUOTE_OPTION:
+      unquote_option = true;
+      break;
+
+    case NO_UNQUOTE_OPTION:
+      unquote_option = false;
+      break;
+
+    case NULL_OPTION:
+      filename_terminator = '\0';
+      verbatim_files_from_option = true;
+      break;
+
+    case NO_NULL_OPTION:
+      filename_terminator = '\n';
+      verbatim_files_from_option = false;
+      break;
+
+    case 'X':
+      if (add_exclude_file (add_exclude, excluded, arg, EXCLUDE_OPTIONS, '\n')
+         != 0)
+       {
+         int e = errno;
+         FATAL_ERROR ((0, e, "%s", quotearg_colon (arg)));
+       }
+      break;
+
+    case ANCHORED_OPTION:
+      matching_flags |= EXCLUDE_ANCHORED;
+      break;
+
+    case NO_ANCHORED_OPTION:
+      include_anchored = 0; /* Clear the default for comman line args */
+      matching_flags &= ~ EXCLUDE_ANCHORED;
+      break;
+
+    case IGNORE_CASE_OPTION:
+      matching_flags |= FNM_CASEFOLD;
+      break;
+
+    case NO_IGNORE_CASE_OPTION:
+      matching_flags &= ~ FNM_CASEFOLD;
+      break;
+
+    case WILDCARDS_OPTION:
+      wildcards = enable_wildcards;
+      break;
+
+    case NO_WILDCARDS_OPTION:
+      wildcards = disable_wildcards;
+      break;
+
+    case WILDCARDS_MATCH_SLASH_OPTION:
+      matching_flags &= ~ FNM_FILE_NAME;
+      break;
+
+    case NO_WILDCARDS_MATCH_SLASH_OPTION:
+      matching_flags |= FNM_FILE_NAME;
+      break;
+
+    case VERBATIM_FILES_FROM_OPTION:
+      verbatim_files_from_option = true;
+      break;
+
+    case NO_VERBATIM_FILES_FROM_OPTION:
+      verbatim_files_from_option = false;
+      break;
+
+    default:
+      FATAL_ERROR ((0, 0, "unhandled positional option %d", key));
+    }
+}
+
+static struct argp names_argp = {
+  names_options,
+  names_parse_opt,
+  NULL,
+  NULL,
+  NULL,
+  NULL,
+  NULL
+};
+
+struct argp_child names_argp_children[] = {
+  { &names_argp, 0, "", 0 },
+  { NULL }
+};
+\f
 /* User and group names.  */
 
 /* Make sure you link with the proper libraries if you are running the
@@ -210,26 +605,36 @@ static struct name *nametail;     /* end of name list */
 
 /* 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 */
+enum nelt_type
+  {
+    NELT_NAME,   /* File name */
+    NELT_CHDIR,  /* Change directory request */
+    NELT_FILE,   /* Read file names from that file */
+    NELT_NOOP,   /* No operation */
+    NELT_OPTION  /* Filename-selection option */
+  };
 
 struct name_elt        /* A name_array element. */
 {
   struct name_elt *next, *prev;
-  char type;           /* Element type, see NELT_* constants above */
+  enum nelt_type 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 */
+      size_t line;     /* Input line number */
       int term;        /* File name terminator in the list */
+      bool verbatim;   /* Verbatim handling of file names: no white-space
+                         trimming, no option processing */
       FILE *fp;
     } file;
+    struct
+    {
+      int option;
+      char const *arg;
+    } opt; /* NELT_OPTION */
   } v;
 };
 
@@ -276,27 +681,29 @@ name_list_advance (void)
   free (elt);
 }
 
-/* Add to name_array the file NAME with fnmatch options MATCHING_FLAGS */
+
+/* Add to name_array the file NAME with fnmatch options MATFLAGS */
 void
-name_add_name (const char *name, int matching_flags)
+name_add_name (const char *name)
 {
-  static int prev_flags = 0; /* FIXME: Or EXCLUDE_ANCHORED? */
   struct name_elt *ep = name_elt_alloc ();
 
-  if (prev_flags != matching_flags)
-    {
-      ep->type = NELT_FMASK;
-      ep->v.matching_flags = matching_flags;
-      prev_flags = matching_flags;
-      ep = name_elt_alloc ();
-    }
   ep->type = NELT_NAME;
   ep->v.name = name;
   name_count++;
 }
 
+static void
+name_add_option (int option, const char *arg)
+{
+  struct name_elt *elt = name_elt_alloc ();
+  elt->type = NELT_OPTION;
+  elt->v.opt.option = option;
+  elt->v.opt.arg = arg;
+}
+
 /* Add to name_array a chdir request for the directory NAME */
-void
+static void
 name_add_dir (const char *name)
 {
   struct name_elt *ep = name_elt_alloc ();
@@ -304,13 +711,14 @@ name_add_dir (const char *name)
   ep->v.name = name;
 }
 
-void
-name_add_file (const char *name, int term)
+static void
+name_add_file (const char *name)
 {
   struct name_elt *ep = name_elt_alloc ();
+
   ep->type = NELT_FILE;
   ep->v.file.name = name;
-  ep->v.file.term = term;
+  ep->v.file.line = 0;
   ep->v.file.fp = NULL;
 }
 \f
@@ -389,6 +797,15 @@ add_file_id (const char *filename)
   file_id_list = p;
   return 0;
 }
+
+/* Chop trailing slashes.  */
+static void
+chopslash (char *str)
+{
+  char *p = str + strlen (str) - 1;
+  while (p > str && ISSLASH (*p))
+    *p-- = '\0';
+}
 \f
 enum read_file_list_state  /* Result of reading file name from the list file */
   {
@@ -409,6 +826,7 @@ read_name_from_file (struct name_elt *ent)
   FILE *fp = ent->v.file.fp;
   int term = ent->v.file.term;
 
+  ++ent->v.file.line;
   for (c = getc (fp); c != EOF && c != term; c = getc (fp))
     {
       if (counter == name_buffer_length)
@@ -428,16 +846,17 @@ read_name_from_file (struct name_elt *ent)
   if (counter == name_buffer_length)
     name_buffer = x2realloc (name_buffer, &name_buffer_length);
   name_buffer[counter] = 0;
-
+  chopslash (name_buffer);
   return (counter == 0 && c == EOF) ? file_list_end : file_list_success;
 }
 
 static int
-handle_option (const char *str)
+handle_option (const char *str, struct name_elt const *ent)
 {
   struct wordsplit ws;
   int i;
-
+  struct option_locus loc;
+  
   while (*str && isspace (*str))
     ++str;
   if (*str != '-')
@@ -447,8 +866,11 @@ handle_option (const char *str)
   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);
+  ws.ws_wordv[0] = (char *) program_name;
+  loc.source = OPTS_FILE;
+  loc.name = ent->v.file.name;
+  loc.line = ent->v.file.line;
+  more_options (ws.ws_wordc+ws.ws_offs, ws.ws_wordv, &loc);
   for (i = 0; i < ws.ws_wordc+ws.ws_offs; i++)
     ws.ws_wordv[i] = NULL;
 
@@ -476,6 +898,8 @@ read_next_name (struct name_elt *ent, struct name_elt *ret)
          if ((ent->v.file.fp = fopen (ent->v.file.name, "r")) == NULL)
            open_fatal (ent->v.file.name);
        }
+      ent->v.file.term = filename_terminator;
+      ent->v.file.verbatim = verbatim_files_from_option;
     }
 
   while (1)
@@ -494,7 +918,7 @@ read_next_name (struct name_elt *ent, struct name_elt *ret)
        case file_list_success:
          if (unquote_option)
            unquote_string (name_buffer);
-         if (handle_option (name_buffer) == 0)
+         if (!ent->v.file.verbatim && handle_option (name_buffer, ent) == 0)
            {
              name_list_adjust ();
              return 1;
@@ -518,7 +942,6 @@ copy_name (struct name_elt *ep)
 {
   const char *source;
   size_t source_len;
-  char *cursor;
 
   source = ep->v.name;
   source_len = strlen (source);
@@ -536,24 +959,17 @@ copy_name (struct name_elt *ep)
       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';
+  chopslash (name_buffer);
 }
 
 \f
-static int matching_flags; /* exclude_fnmatch options */
-
 /* Get the next NELT_NAME element from name_array.  Result is in
    static storage and can't be relied upon across two calls.
 
    If CHANGE_DIRS is true, treat any entries of type NELT_CHDIR as
    the request to change to the given directory.
 
-   Entries of type NELT_FMASK cause updates of the matching_flags
-   value. */
+*/
 static struct name_elt *
 name_next_elt (int change_dirs)
 {
@@ -568,12 +984,6 @@ name_next_elt (int change_dirs)
          name_list_advance ();
          break;
 
-       case NELT_FMASK:
-         matching_flags = ep->v.matching_flags;
-         recursion_option = matching_flags & FNM_LEADING_DIR;
-         name_list_advance ();
-         continue;
-
        case NELT_FILE:
          if (read_next_name (ep, &entry) == 0)
            return &entry;
@@ -595,6 +1005,11 @@ name_next_elt (int change_dirs)
          entry.v.name = name_buffer;
          name_list_advance ();
          return &entry;
+
+       case NELT_OPTION:
+         handle_file_selection_option (ep->v.opt.option, ep->v.opt.arg);
+         name_list_advance ();
+         continue;
        }
     }
 
@@ -640,7 +1055,7 @@ name_gather (void)
          buffer->change_dir = change_dir;
          buffer->next = 0;
          buffer->found_count = 0;
-         buffer->matching_flags = matching_flags;
+         buffer->matching_flags = INCLUDE_OPTIONS;
          buffer->directory = NULL;
          buffer->parent = NULL;
          buffer->cmdline = true;
@@ -682,7 +1097,7 @@ addname (char const *string, int change_dir, bool cmdline, struct name *parent)
   name->prev = nametail;
   name->next = NULL;
   name->found_count = 0;
-  name->matching_flags = matching_flags;
+  name->matching_flags = INCLUDE_OPTIONS;
   name->change_dir = change_dir;
   name->directory = NULL;
   name->parent = parent;
@@ -817,7 +1232,10 @@ regex_usage_warning (const char *name)
 {
   static int warned_once = 0;
 
-  if (warn_regex_usage && fnmatch_pattern_has_wildcards (name, 0))
+  /* Warn about implicit use of the wildcards in command line arguments.
+     (Default for tar prior to 1.15.91, but changed afterwards) */
+  if (wildcards == default_wildcards
+      && fnmatch_pattern_has_wildcards (name, 0))
     {
       warned_once = 1;
       WARN ((0, 0,
@@ -1358,18 +1776,18 @@ blank_name_list (void)
     name->found_count = 0;
 }
 
-/* Yield a newly allocated file name consisting of FILE_NAME concatenated to
-   NAME, with an intervening slash if FILE_NAME does not already end in one. */
+/* Yield a newly allocated file name consisting of DIR_NAME concatenated to
+   NAME, with an intervening slash if DIR_NAME does not already end in one. */
 char *
-new_name (const char *file_name, const char *name)
+make_file_name (const char *directory_name, const char *name)
 {
-  size_t file_name_len = strlen (file_name);
-  size_t namesize = strlen (name) + 1;
-  int slash = file_name_len && ! ISSLASH (file_name[file_name_len - 1]);
-  char *buffer = xmalloc (file_name_len + slash + namesize);
-  memcpy (buffer, file_name, file_name_len);
-  buffer[file_name_len] = '/';
-  memcpy (buffer + file_name_len + slash, name, namesize);
+  size_t dirlen = strlen (directory_name);
+  size_t namelen = strlen (name) + 1;
+  int slash = dirlen && ! ISSLASH (directory_name[dirlen - 1]);
+  char *buffer = xmalloc (dirlen + slash + namelen);
+  memcpy (buffer, directory_name, dirlen);
+  buffer[dirlen] = '/';
+  memcpy (buffer + dirlen + slash, name, namelen);
   return buffer;
 }
 
index 6a976763419e78a5d5041fe3a01046e787dccdc8..4e784015e722ad39a69f5b2c2e7975d3ade361ad 100644 (file)
@@ -1,6 +1,6 @@
 /* Functions for dealing with sparse files
 
-   Copyright 2003-2007, 2010, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2003-2007, 2010, 2013-2016 Free Software Foundation, Inc.
 
    This 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
@@ -208,9 +208,9 @@ sparse_add_map (struct tar_stat_info *st, struct sp_array const *sp)
   st->sparse_map_avail = avail + 1;
 }
 
-/* Scan the sparse file and create its map */
+/* Scan the sparse file byte-by-byte and create its map. */
 static bool
-sparse_scan_file (struct tar_sparse_file *file)
+sparse_scan_file_raw (struct tar_sparse_file *file)
 {
   struct tar_stat_info *st = file->stat_info;
   int fd = file->fd;
@@ -221,41 +221,38 @@ sparse_scan_file (struct tar_sparse_file *file)
 
   st->archive_file_size = 0;
 
-  if (ST_NBLOCKS (st->stat) == 0)
-    offset = st->stat.st_size;
-  else
-    {
-      if (!tar_sparse_scan (file, scan_begin, NULL))
-       return false;
-
-      while ((count = blocking_read (fd, buffer, sizeof buffer)) != 0
-            && count != SAFE_READ_ERROR)
-       {
-         /* Analyze the block.  */
-         if (zero_block_p (buffer, count))
-           {
-             if (sp.numbytes)
-               {
-                 sparse_add_map (st, &sp);
-                 sp.numbytes = 0;
-                 if (!tar_sparse_scan (file, scan_block, NULL))
-                   return false;
-               }
-           }
-         else
-           {
-             if (sp.numbytes == 0)
-               sp.offset = offset;
-             sp.numbytes += count;
-             st->archive_file_size += count;
-             if (!tar_sparse_scan (file, scan_block, buffer))
-               return false;
-           }
+  if (!tar_sparse_scan (file, scan_begin, NULL))
+    return false;
 
-         offset += count;
-       }
+  while ((count = blocking_read (fd, buffer, sizeof buffer)) != 0
+         && count != SAFE_READ_ERROR)
+    {
+      /* Analyze the block.  */
+      if (zero_block_p (buffer, count))
+        {
+          if (sp.numbytes)
+            {
+              sparse_add_map (st, &sp);
+              sp.numbytes = 0;
+              if (!tar_sparse_scan (file, scan_block, NULL))
+                return false;
+            }
+        }
+      else
+        {
+          if (sp.numbytes == 0)
+            sp.offset = offset;
+          sp.numbytes += count;
+          st->archive_file_size += count;
+          if (!tar_sparse_scan (file, scan_block, buffer))
+            return false;
+        }
+
+      offset += count;
     }
 
+  /* save one more sparse segment of length 0 to indicate that
+     the file ends with a hole */
   if (sp.numbytes == 0)
     sp.offset = offset;
 
@@ -264,6 +261,114 @@ sparse_scan_file (struct tar_sparse_file *file)
   return tar_sparse_scan (file, scan_end, NULL);
 }
 
+static bool
+sparse_scan_file_wholesparse (struct tar_sparse_file *file)
+{
+  struct tar_stat_info *st = file->stat_info;
+  struct sp_array sp = {0, 0};
+
+  /* Note that this function is called only for truly sparse files of size >= 1
+     block size (checked via ST_IS_SPARSE before).  See the thread
+     http://www.mail-archive.com/bug-tar@gnu.org/msg04209.html for more info */
+  if (ST_NBLOCKS (st->stat) == 0)
+    {
+      st->archive_file_size = 0;
+      sp.offset = st->stat.st_size;
+      sparse_add_map (st, &sp);
+      return true;
+    }
+
+  return false;
+}
+
+#ifdef SEEK_HOLE
+/* Try to engage SEEK_HOLE/SEEK_DATA feature. */
+static bool
+sparse_scan_file_seek (struct tar_sparse_file *file)
+{
+  struct tar_stat_info *st = file->stat_info;
+  int fd = file->fd;
+  struct sp_array sp = {0, 0};
+  off_t offset = 0;
+  off_t data_offset;
+  off_t hole_offset;
+
+  st->archive_file_size = 0;
+
+  for (;;)
+    {
+      /* locate first chunk of data */
+      data_offset = lseek (fd, offset, SEEK_DATA);
+
+      if (data_offset == (off_t)-1)
+        /* ENXIO == EOF; error otherwise */
+        {
+          if (errno == ENXIO)
+            {
+              /* file ends with hole, add one more empty chunk of data */
+              sp.numbytes = 0;
+              sp.offset = st->stat.st_size;
+              sparse_add_map (st, &sp);
+              return true;
+            }
+          return false;
+        }
+
+      hole_offset = lseek (fd, data_offset, SEEK_HOLE);
+
+      /* according to specs, if FS does not fully support
+        SEEK_DATA/SEEK_HOLE it may just implement kind of "wrapper" around
+        classic lseek() call.  We must detect it here and try to use other
+        hole-detection methods. */
+      if (offset == 0 /* first loop */
+          && data_offset == 0
+          && hole_offset == st->stat.st_size)
+        {
+          lseek (fd, 0, SEEK_SET);
+          return false;
+        }
+
+      sp.offset = data_offset;
+      sp.numbytes = hole_offset - data_offset;
+      sparse_add_map (st, &sp);
+
+      st->archive_file_size += sp.numbytes;
+      offset = hole_offset;
+    }
+
+  return true;
+}
+#endif
+
+static bool
+sparse_scan_file (struct tar_sparse_file *file)
+{
+  /* always check for completely sparse files */
+  if (sparse_scan_file_wholesparse (file))
+    return true;
+
+  switch (hole_detection)
+    {
+    case HOLE_DETECTION_DEFAULT:
+    case HOLE_DETECTION_SEEK:
+#ifdef SEEK_HOLE
+      if (sparse_scan_file_seek (file))
+        return true;
+#else
+      if (hole_detection == HOLE_DETECTION_SEEK)
+       WARN((0, 0,
+             _("\"seek\" hole detection is not supported, using \"raw\".")));
+      /* fall back to "raw" for this and all other files */
+      hole_detection = HOLE_DETECTION_RAW;
+#endif
+    case HOLE_DETECTION_RAW:
+      if (sparse_scan_file_raw (file))
+       return true;
+    }
+  
+  return false;
+}
+
 static struct tar_sparse_optab const oldgnu_optab;
 static struct tar_sparse_optab const star_optab;
 static struct tar_sparse_optab const pax_optab;
index ac34cba20e372ceaa0b137817cb159a3130dc895..a7695b9f9d4f314e180043683625ed7266ee0c76 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of GNU tar.
-   Copyright 2007, 2009, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2007, 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
    Written by Sergey Poznyakoff.
 
index 94142336ef6d021868836cf94a97720ee9d20429..71a812d5b7a2e01c3e94ee1e6fc2e472e949b1a5 100644 (file)
@@ -1,6 +1,7 @@
 /* System-dependent calls for tar.
 
-   Copyright 2003-2008, 2010, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2003-2008, 2010, 2013-2014, 2016 Free Software Foundation,
+   Inc.
 
    This 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
 static _Noreturn void
 xexec (const char *cmd)
 {
-  struct wordsplit ws;
+  char *argv[4];
 
-  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);
+  argv[0] = (char *) "/bin/sh";
+  argv[1] = (char *) "-c";
+  argv[2] = (char *) cmd;
+  argv[3] = NULL;
+
+  execv ("/bin/sh", argv);
   exec_fatal (cmd);
 }
 
@@ -330,6 +332,7 @@ sys_child_open_for_compress (void)
   pid_t grandchild_pid;
   pid_t child_pid;
 
+  signal (SIGPIPE, SIG_IGN);
   xpipe (parent_pipe);
   child_pid = xfork ();
 
index cd32379035fac0efe9994577b6f5bdc487a53589..ba24c4345859ac88a576c5f3856257069572b30d 100644 (file)
--- a/src/tar.c
+++ b/src/tar.c
@@ -1,6 +1,6 @@
 /* A tar (tape archiver) program.
 
-   Copyright 1988, 1992-1997, 1999-2001, 2003-2007, 2012-2014 Free
+   Copyright 1988, 1992-1997, 1999-2001, 2003-2007, 2012-2016 Free
    Software Foundation, Inc.
 
    Written by John Gilmore, starting 1985-08-25.
@@ -45,7 +45,8 @@
 #include <parse-datetime.h>
 #include <rmt.h>
 #include <rmt-command.h>
-#include <prepargs.h>
+#include <wordsplit.h>
+#include <sysexits.h>
 #include <quotearg.h>
 #include <version-etc.h>
 #include <xstrtol.h>
@@ -261,7 +262,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_name));
 }
 
 \f
@@ -270,31 +271,19 @@ tar_set_quoting_style (char *arg)
 enum
 {
   ACLS_OPTION = CHAR_MAX + 1,
-  ANCHORED_OPTION,
   ATIME_PRESERVE_OPTION,
   BACKUP_OPTION,
   CHECK_DEVICE_OPTION,
   CHECKPOINT_OPTION,
   CHECKPOINT_ACTION_OPTION,
+  CLAMP_MTIME_OPTION,
   DELAY_DIRECTORY_RESTORE_OPTION,
   HARD_DEREFERENCE_OPTION,
   DELETE_OPTION,
-  EXCLUDE_BACKUPS_OPTION,
-  EXCLUDE_CACHES_OPTION,
-  EXCLUDE_CACHES_UNDER_OPTION,
-  EXCLUDE_CACHES_ALL_OPTION,
-  EXCLUDE_OPTION,
-  EXCLUDE_IGNORE_OPTION,
-  EXCLUDE_IGNORE_RECURSIVE_OPTION,
-  EXCLUDE_TAG_OPTION,
-  EXCLUDE_TAG_UNDER_OPTION,
-  EXCLUDE_TAG_ALL_OPTION,
-  EXCLUDE_VCS_OPTION,
-  EXCLUDE_VCS_IGNORES_OPTION,
   FORCE_LOCAL_OPTION,
   FULL_TIME_OPTION,
   GROUP_OPTION,
-  IGNORE_CASE_OPTION,
+  GROUP_MAP_OPTION,
   IGNORE_COMMAND_ERROR_OPTION,
   IGNORE_FAILED_READ_OPTION,
   INDEX_FILE_OPTION,
@@ -308,25 +297,17 @@ enum
   MTIME_OPTION,
   NEWER_MTIME_OPTION,
   NO_ACLS_OPTION,
-  NO_ANCHORED_OPTION,
   NO_AUTO_COMPRESS_OPTION,
   NO_CHECK_DEVICE_OPTION,
   NO_DELAY_DIRECTORY_RESTORE_OPTION,
-  NO_IGNORE_CASE_OPTION,
   NO_IGNORE_COMMAND_ERROR_OPTION,
-  NO_NULL_OPTION,
   NO_OVERWRITE_DIR_OPTION,
   NO_QUOTE_CHARS_OPTION,
-  NO_RECURSION_OPTION,
   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,
   OLD_ARCHIVE_OPTION,
@@ -335,13 +316,12 @@ enum
   OVERWRITE_DIR_OPTION,
   OVERWRITE_OPTION,
   OWNER_OPTION,
+  OWNER_MAP_OPTION,
   PAX_OPTION,
   POSIX_OPTION,
-  PRESERVE_OPTION,
   QUOTE_CHARS_OPTION,
   QUOTING_STYLE_OPTION,
   RECORD_SIZE_OPTION,
-  RECURSION_OPTION,
   RECURSIVE_UNLINK_OPTION,
   REMOVE_FILES_OPTION,
   RESTRICT_OPTION,
@@ -355,6 +335,7 @@ enum
   SHOW_TRANSFORMED_NAMES_OPTION,
   SKIP_OLD_FILES_OPTION,
   SORT_OPTION,
+  HOLE_DETECTION_OPTION,
   SPARSE_VERSION_OPTION,
   STRIP_COMPONENTS_OPTION,
   SUFFIX_OPTION,
@@ -362,19 +343,14 @@ enum
   TOTALS_OPTION,
   TO_COMMAND_OPTION,
   TRANSFORM_OPTION,
-  UNQUOTE_OPTION,
   UTC_OPTION,
   VOLNO_FILE_OPTION,
   WARNING_OPTION,
-  WILDCARDS_MATCH_SLASH_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, \
 and can restore individual files from the archive.\n\
@@ -445,6 +421,8 @@ static struct argp_option options[] = {
 
   {"sparse", 'S', 0, 0,
    N_("handle sparse files efficiently"), GRID+1 },
+  {"hole-detection", HOLE_DETECTION_OPTION, N_("TYPE"), 0,
+   N_("technique to detect holes"), GRID+1 },
   {"sparse-version", SPARSE_VERSION_OPTION, N_("MAJOR[.MINOR]"), 0,
    N_("set version of the sparse format to use (implies --sparse)"), GRID+1},
   {"incremental", 'G', 0, 0,
@@ -530,8 +508,14 @@ static struct argp_option options[] = {
    N_("force NAME as owner for added files"), GRID+1 },
   {"group", GROUP_OPTION, N_("NAME"), 0,
    N_("force NAME as group for added files"), GRID+1 },
+  {"owner-map", OWNER_MAP_OPTION, N_("FILE"), 0,
+   N_("use FILE to map file owner UIDs and names"), GRID+1 },
+  {"group-map", GROUP_MAP_OPTION, N_("FILE"), 0,
+   N_("use FILE to map file owner GIDs and names"), GRID+1 },
   {"mtime", MTIME_OPTION, N_("DATE-OR-FILE"), 0,
    N_("set mtime for added files from DATE-OR-FILE"), GRID+1 },
+  {"clamp-mtime", CLAMP_MTIME_OPTION, 0, 0,
+   N_("only set time when the file is more recent than what was given with --mtime"), GRID+1 },
   {"mode", MODE_OPTION, N_("CHANGES"), 0,
    N_("force (symbolic) mode CHANGES for added files"), GRID+1 },
   {"atime-preserve", ATIME_PRESERVE_OPTION,
@@ -557,8 +541,6 @@ static struct argp_option options[] = {
    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 },
   {"delay-directory-restore", DELAY_DIRECTORY_RESTORE_OPTION, 0, 0,
    N_("delay setting modification times and permissions of extracted"
       " directories until the end of extraction"), GRID+1 },
@@ -705,58 +687,8 @@ static struct argp_option options[] = {
 #define GRID 100
   {NULL, 0, NULL, 0,
    N_("Local file selection:"), GRID },
-
-  {"add-file", ARGP_KEY_ARG, N_("FILE"), 0,
-   N_("add given FILE to the archive (useful if its name starts with a dash)"), GRID+1 },
-  {"directory", 'C', N_("DIR"), 0,
-   N_("change to directory DIR"), GRID+1 },
-  {"files-from", 'T', N_("FILE"), 0,
-   N_("get names to extract or create from FILE"), GRID+1 },
-  {"null", NULL_OPTION, 0, 0,
-   N_("-T reads null-terminated names, disable -C"), GRID+1 },
-  {"no-null", NO_NULL_OPTION, 0, 0,
-   N_("disable the effect of the previous --null option"), GRID+1 },
-  {"unquote", UNQUOTE_OPTION, 0, 0,
-   N_("unquote input file or member names (default)"), GRID+1 },
-  {"no-unquote", NO_UNQUOTE_OPTION, 0, 0,
-   N_("do not unquote input file or member names"), GRID+1 },
-  {"exclude", EXCLUDE_OPTION, N_("PATTERN"), 0,
-   N_("exclude files, given as a PATTERN"), GRID+1 },
-  {"exclude-from", 'X', N_("FILE"), 0,
-   N_("exclude patterns listed in FILE"), GRID+1 },
-  {"exclude-caches", EXCLUDE_CACHES_OPTION, 0, 0,
-   N_("exclude contents of directories containing CACHEDIR.TAG, "
-      "except for the tag file itself"), GRID+1 },
-  {"exclude-caches-under", EXCLUDE_CACHES_UNDER_OPTION, 0, 0,
-   N_("exclude everything under directories containing CACHEDIR.TAG"),
-   GRID+1 },
-  {"exclude-caches-all", EXCLUDE_CACHES_ALL_OPTION, 0, 0,
-   N_("exclude directories containing CACHEDIR.TAG"), GRID+1 },
-  {"exclude-tag", EXCLUDE_TAG_OPTION, N_("FILE"), 0,
-   N_("exclude contents of directories containing FILE, except"
-      " for FILE itself"), GRID+1 },
-  {"exclude-ignore", EXCLUDE_IGNORE_OPTION, N_("FILE"), 0,
-    N_("read exclude patterns for each directory from FILE, if it exists"),
-   GRID+1 }, 
-  {"exclude-ignore-recursive", EXCLUDE_IGNORE_RECURSIVE_OPTION, N_("FILE"), 0,
-    N_("read exclude patterns for each directory and its subdirectories "
-       "from FILE, if it exists"), GRID+1 },
-  {"exclude-tag-under", EXCLUDE_TAG_UNDER_OPTION, N_("FILE"), 0,
-   N_("exclude everything under directories containing FILE"), GRID+1 },
-  {"exclude-tag-all", EXCLUDE_TAG_ALL_OPTION, N_("FILE"), 0,
-   N_("exclude directories containing FILE"), GRID+1 },
-  {"exclude-vcs", EXCLUDE_VCS_OPTION, NULL, 0,
-   N_("exclude version control system directories"), GRID+1 },
-  {"exclude-vcs-ignores", EXCLUDE_VCS_IGNORES_OPTION, NULL, 0,
-   N_("read exclude patterns from the VCS ignore files"), GRID+1 },
-  {"exclude-backups", EXCLUDE_BACKUPS_OPTION, NULL, 0,
-   N_("exclude backup and lock files"), GRID+1 },
-  {"no-recursion", NO_RECURSION_OPTION, 0, 0,
-   N_("avoid descending automatically in directories"), GRID+1 },
   {"one-file-system", ONE_FILE_SYSTEM_OPTION, 0, 0,
    N_("stay in local file system when creating archive"), GRID+1 },
-  {"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 },
   {"dereference", 'h', 0, 0,
@@ -787,28 +719,6 @@ static struct argp_option options[] = {
   {"xform", 0, 0, OPTION_ALIAS, NULL, GRID+1 },
 #undef GRID
 
-#define GRID 120
-  {NULL, 0, NULL, 0,
-   N_("File name matching options (affect both exclude and include patterns):"),
-   GRID },
-  {"ignore-case", IGNORE_CASE_OPTION, 0, 0,
-   N_("ignore case"), GRID+1 },
-  {"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 },
-  {"no-ignore-case", NO_IGNORE_CASE_OPTION, 0, 0,
-   N_("case sensitive matching (default)"), GRID+1 },
-  {"wildcards", WILDCARDS_OPTION, 0, 0,
-   N_("use wildcards (default for exclusion)"), GRID+1 },
-  {"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 },
-  {"wildcards-match-slash", WILDCARDS_MATCH_SLASH_OPTION, 0, 0,
-   N_("wildcards match '/' (default for exclusion)"), GRID+1 },
-#undef GRID
-
 #define GRID 130
   {NULL, 0, NULL, 0,
    N_("Informative output:"), GRID },
@@ -892,25 +802,13 @@ static enum atime_preserve const atime_preserve_types[] =
    (minus 1 for NULL guard) */
 ARGMATCH_VERIFY (atime_preserve_args, atime_preserve_types);
 
-/* Wildcard matching settings */
-enum wildcards
-  {
-    default_wildcards, /* For exclusion == enable_wildcards,
-                         for inclusion == disable_wildcards */
-    disable_wildcards,
-    enable_wildcards
-  };
-
 struct tar_args        /* Variables used during option parsing */
 {
+  struct option_locus *loc;
+
   struct textual_date *textual_date; /* Keeps the arguments to --newer-mtime
                                        and/or --date option if they are
                                        textual dates */
-  enum wildcards wildcards;        /* Wildcard settings (--wildcards/
-                                     --no-wildcards) */
-  int matching_flags;              /* exclude_fnmatch options */
-  int include_anchored;            /* Pattern anchoring options used for
-                                     file inclusion */
   bool o_option;                   /* True if -o option was given */
   bool pax_option;                 /* True if --pax-option was given */
   char const *backup_suffix_string;   /* --suffix option argument */
@@ -920,66 +818,6 @@ struct tar_args        /* Variables used during option parsing */
                                      be attempted when creating archives */
 };
 
-\f
-#define MAKE_EXCL_OPTIONS(args) \
- ((((args)->wildcards != disable_wildcards) ? EXCLUDE_WILDCARDS : 0) \
-  | (args)->matching_flags \
-  | recursion_option)
-
-#define MAKE_INCL_OPTIONS(args) \
- ((((args)->wildcards == enable_wildcards) ? EXCLUDE_WILDCARDS : 0) \
-  | (args)->include_anchored \
-  | (args)->matching_flags \
-  | recursion_option)
-
-static char const * const vcs_file_table[] = {
-  /* CVS: */
-  "CVS",
-  ".cvsignore",
-  /* RCS: */
-  "RCS",
-  /* SCCS: */
-  "SCCS",
-  /* SVN: */
-  ".svn",
-  /* git: */
-  ".git",
-  ".gitignore",
-  /* Arch: */
-  ".arch-ids",
-  "{arch}",
-  "=RELEASE-ID",
-  "=meta-update",
-  "=update",
-  /* Bazaar */
-  ".bzr",
-  ".bzrignore",
-  ".bzrtags",
-  /* Mercurial */
-  ".hg",
-  ".hgignore",
-  ".hgtags",
-  /* darcs */
-  "_darcs",
-  NULL
-};
-
-static char const * const backup_file_table[] = {
-  ".#*",
-  "*~",
-  "#*#",
-  NULL
-};
-
-static void
-add_exclude_array (char const * const * fv, int opts)
-{
-  int i;
-
-  for (i = 0; fv[i]; i++)
-    add_exclude (excluded, fv[i], opts);
-}
-
 \f
 static char *
 format_default_settings (void)
@@ -999,7 +837,93 @@ format_default_settings (void)
 #endif
            );
 }
+\f
+static void
+option_conflict_error (const char *a, const char *b)
+{
+  /* TRANSLATORS: Both %s in this statement are replaced with
+     option names. */
+  USAGE_ERROR ((0, 0, _("'%s' cannot be used with '%s'"), a, b));
+}
+\f
+/* Classes of options that can conflict: */
+enum option_class
+  {
+    OC_COMPRESS,                 /* Compress options: -JjZz, -I, etc. */
+    OC_OCCURRENCE,               /* --occurrence */
+    OC_LISTED_INCREMENTAL,       /* --listed-incremental */
+    OC_NEWER,                    /* --newer, --newer-mtime, --after-date */
+    OC_VERIFY,                   /* --verify */
+    OC_STARTING_FILE,            /* --starting-file */
+    OC_SAME_ORDER,               /* --same-order */
+    OC_ONE_TOP_LEVEL,            /* --one-top-level */
+    OC_ABSOLUTE_NAMES,           /* --absolute-names */
+    OC_OLD_FILES,                /* --keep-old-files, --overwrite, etc. */
+    OC_MAX
+  };
+
+/* Table of locations of potentially conflicting options.  Two options can
+   conflict only if they procede from the command line.  Otherwise, options
+   in command line silently override those defined in TAR_OPTIONS. */
+static struct option_locus *option_class[OC_MAX];
+
+/* Save location of an option of class ID.  Return location of a previous
+   occurrence of an option of that class, or NULL. */
+static struct option_locus *
+optloc_save (unsigned int id, struct option_locus *loc)
+{
+  struct option_locus *optloc;
+  char *p;
+  size_t s;
+
+  if (id >= sizeof (option_class) / sizeof (option_class[0]))
+    abort ();
+  s = sizeof (*loc);
+  if (loc->name)
+    s += strlen (loc->name) + 1;
+  optloc = xmalloc (s);
+  if (loc->name)
+    {
+      p = (char*) optloc + sizeof (*loc);
+      strcpy (p, loc->name);
+      optloc->name = p;
+    }
+  else
+    optloc->name = NULL;
+  optloc->source = loc->source;
+  optloc->line = loc->line;
+  optloc->prev = option_class[id];
+  option_class[id] = optloc;
+  return optloc->prev;
+}
 
+/* Return location of a recent option of class ID */
+static struct option_locus *
+optloc_lookup (int id)
+{
+  return option_class[id];
+}
+
+/* Return true if the latest occurrence of option ID was in the command line */
+static int
+option_set_in_cl (int id)
+{
+  struct option_locus *loc = optloc_lookup (id);
+  if (!loc)
+    return 0;
+  return loc->source == OPTS_COMMAND_LINE;
+}
+
+/* Compare two option locations */
+static int
+optloc_eq (struct option_locus *a, struct option_locus *b)
+{
+  if (a->source != b->source)
+    return 0;
+  if (a->source == OPTS_COMMAND_LINE)
+    return 1;
+  return strcmp (a->name, b->name) == 0;
+}
 \f
 static void
 set_subcommand_option (enum subcommand subcommand)
@@ -1013,10 +937,12 @@ set_subcommand_option (enum subcommand subcommand)
 }
 
 static void
-set_use_compress_program_option (const char *string)
+set_use_compress_program_option (const char *string, struct option_locus *loc)
 {
+  struct option_locus *p = optloc_save (OC_COMPRESS, loc);
   if (use_compress_program_option
-      && strcmp (use_compress_program_option, string) != 0)
+      && strcmp (use_compress_program_option, string) != 0
+      && p->source == OPTS_COMMAND_LINE)
     USAGE_ERROR ((0, 0, _("Conflicting compression options")));
 
   use_compress_program_option = string;
@@ -1147,9 +1073,6 @@ report_textual_dates (struct tar_args *args)
 }
 
 \f
-static bool files_from_option;  /* When set, tar will not refuse to create
-                                  empty archives */
-
 /* Default density numbers for [0-9][lmh] device specifications */
 
 #if defined DEVICE_PREFIX && !defined DENSITY_LETTER
@@ -1201,7 +1124,7 @@ tar_help_filter (int key, const char *text, void *input)
 
     case LZOP_OPTION:
       s = xasprintf (_("filter the archive through %s"), LZOP_PROGRAM);
-      
+
     case 'J':
       s = xasprintf (_("filter the archive through %s"), XZ_PROGRAM);
       break;
@@ -1335,24 +1258,60 @@ parse_owner_group (char *arg, uintmax_t field_max, char const **name_option)
 
 #define TAR_SIZE_SUFFIXES "bBcGgkKMmPTtw"
 
-/* Either NL or NUL, as decided by the --null option.  */
-static char filename_terminator;
-
 static char const *const sort_mode_arg[] = {
   "none",
   "name",
+#if D_INO_IN_DIRENT
   "inode",
+#endif
   NULL
 };
 
 static int sort_mode_flag[] = {
     SAVEDIR_SORT_NONE,
     SAVEDIR_SORT_NAME,
+#if D_INO_IN_DIRENT
     SAVEDIR_SORT_INODE
+#endif
 };
 
 ARGMATCH_VERIFY (sort_mode_arg, sort_mode_flag);
 
+static char const *const hole_detection_args[] =
+{
+  "raw", "seek", NULL
+};
+
+static int const hole_detection_types[] =
+{
+  HOLE_DETECTION_RAW, HOLE_DETECTION_SEEK
+};
+
+ARGMATCH_VERIFY (hole_detection_args, hole_detection_types);
+
+\f
+static void
+set_old_files_option (int code, struct option_locus *loc)
+{
+  struct option_locus *prev;
+  static char const *const code_to_opt[] = {
+    "--overwrite-dir",
+    "--no-overwrite-dir",
+    "--overwrite",
+    "--unlink-first",
+    "--keep-old-files",
+    "--skip-old-files",
+    "--keep-newer-files"
+  };
+
+  prev = optloc_save (OC_OLD_FILES, loc);
+  if (prev && optloc_eq (loc, prev) && code != old_files_option)
+    option_conflict_error (code_to_opt[code], code_to_opt[old_files_option]);
+
+  old_files_option = code;
+}
+\f
+\f
 static error_t
 parse_opt (int key, char *arg, struct argp_state *state)
 {
@@ -1362,7 +1321,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
     {
     case ARGP_KEY_ARG:
       /* File name or non-parsed option, because of ARGP_IN_ORDER */
-      name_add_name (arg, MAKE_INCL_OPTIONS (args));
+      name_add_name (arg);
       args->input_files = true;
       break;
 
@@ -1405,8 +1364,8 @@ parse_opt (int key, char *arg, struct argp_state *state)
       set_subcommand_option (CREATE_SUBCOMMAND);
       break;
 
-    case 'C':
-      name_add_dir (arg);
+    case CLAMP_MTIME_OPTION:
+      set_mtime_option = CLAMP_MTIME;
       break;
 
     case 'd':
@@ -1435,6 +1394,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case 'g':
+      optloc_save (OC_LISTED_INCREMENTAL, args->loc);
       listed_incremental_option = arg;
       after_date_option = true;
       /* Fall through.  */
@@ -1465,19 +1425,20 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case 'j':
-      set_use_compress_program_option (BZIP2_PROGRAM);
+      set_use_compress_program_option (BZIP2_PROGRAM, args->loc);
       break;
 
     case 'J':
-      set_use_compress_program_option (XZ_PROGRAM);
+      set_use_compress_program_option (XZ_PROGRAM, args->loc);
       break;
 
     case 'k':
       /* Don't replace existing files.  */
-      old_files_option = KEEP_OLD_FILES;
+      set_old_files_option (KEEP_OLD_FILES, args->loc);
       break;
 
     case 'K':
+      optloc_save (OC_STARTING_FILE, args->loc);
       starting_file_option = true;
       addname (arg, 0, true, NULL);
       break;
@@ -1489,6 +1450,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case ONE_TOP_LEVEL_OPTION:
+      optloc_save (OC_ONE_TOP_LEVEL, args->loc);
       one_top_level_option = true;
       one_top_level_dir = arg;
       break;
@@ -1523,15 +1485,15 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case LZIP_OPTION:
-      set_use_compress_program_option (LZIP_PROGRAM);
+      set_use_compress_program_option (LZIP_PROGRAM, args->loc);
       break;
 
     case LZMA_OPTION:
-      set_use_compress_program_option (LZMA_PROGRAM);
+      set_use_compress_program_option (LZMA_PROGRAM, args->loc);
       break;
 
     case LZOP_OPTION:
-      set_use_compress_program_option (LZOP_PROGRAM);
+      set_use_compress_program_option (LZOP_PROGRAM, args->loc);
       break;
 
     case 'm':
@@ -1547,7 +1509,8 @@ parse_opt (int key, char *arg, struct argp_state *state)
 
     case MTIME_OPTION:
       get_date_or_file (args, "--mtime", arg, &mtime_option);
-      set_mtime_option = true;
+      if (set_mtime_option == USE_FILE_MTIME)
+        set_mtime_option = FORCE_MTIME;
       break;
 
     case 'n':
@@ -1563,11 +1526,12 @@ parse_opt (int key, char *arg, struct argp_state *state)
       /* Fall through.  */
 
     case NEWER_MTIME_OPTION:
-      if (NEWER_OPTION_INITIALIZED (newer_mtime_option))
+      if (TIME_OPTION_INITIALIZED (newer_mtime_option))
        USAGE_ERROR ((0, 0, _("More than one threshold date")));
       get_date_or_file (args,
                        key == NEWER_MTIME_OPTION ? "--newer-mtime"
                        : "--after-date", arg, &newer_mtime_option);
+      optloc_save (OC_NEWER, args->loc);
       break;
 
     case 'o':
@@ -1583,6 +1547,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case 'P':
+      optloc_save (OC_ABSOLUTE_NAMES, args->loc);
       absolute_names_option = true;
       break;
 
@@ -1603,7 +1568,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
 
     case 's':
       /* Names to extract are sorted.  */
-
+      optloc_save (OC_SAME_ORDER, args->loc);
       same_order_option = true;
       break;
 
@@ -1612,7 +1577,13 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case SKIP_OLD_FILES_OPTION:
-      old_files_option = SKIP_OLD_FILES;
+      set_old_files_option (SKIP_OLD_FILES, args->loc);
+      break;
+
+    case HOLE_DETECTION_OPTION:
+      hole_detection = XARGMATCH ("--hole-detection", arg,
+                                 hole_detection_args, hole_detection_types);
+      sparse_option = true;
       break;
 
     case SPARSE_VERSION_OPTION:
@@ -1640,20 +1611,12 @@ parse_opt (int key, char *arg, struct argp_state *state)
       set_subcommand_option (TEST_LABEL_SUBCOMMAND);
       break;
 
-    case 'T':
-      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 */
-      files_from_option = true;
-      break;
-
     case 'u':
       set_subcommand_option (UPDATE_SUBCOMMAND);
       break;
 
     case 'U':
-      old_files_option = UNLINK_FIRST_OLD_FILES;
+      set_old_files_option (UNLINK_FIRST_OLD_FILES, args->loc);
       break;
 
     case UTC_OPTION:
@@ -1674,6 +1637,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case 'W':
+      optloc_save (OC_VERIFY, args->loc);
       verify_option = true;
       break;
 
@@ -1681,26 +1645,12 @@ parse_opt (int key, char *arg, struct argp_state *state)
       set_subcommand_option (EXTRACT_SUBCOMMAND);
       break;
 
-    case 'X':
-      if (add_exclude_file (add_exclude, excluded, arg,
-                           MAKE_EXCL_OPTIONS (args), '\n')
-         != 0)
-       {
-         int e = errno;
-         FATAL_ERROR ((0, e, "%s", quotearg_colon (arg)));
-       }
-      break;
-
     case 'z':
-      set_use_compress_program_option (GZIP_PROGRAM);
+      set_use_compress_program_option (GZIP_PROGRAM, args->loc);
       break;
 
     case 'Z':
-      set_use_compress_program_option (COMPRESS_PROGRAM);
-      break;
-
-    case ANCHORED_OPTION:
-      args->matching_flags |= EXCLUDE_ANCHORED;
+      set_use_compress_program_option (COMPRESS_PROGRAM, args->loc);
       break;
 
     case ATIME_PRESERVE_OPTION:
@@ -1764,57 +1714,6 @@ parse_opt (int key, char *arg, struct argp_state *state)
       set_subcommand_option (DELETE_SUBCOMMAND);
       break;
 
-    case EXCLUDE_BACKUPS_OPTION:
-      add_exclude_array (backup_file_table, EXCLUDE_WILDCARDS);
-      break;
-
-    case EXCLUDE_OPTION:
-      add_exclude (excluded, arg, MAKE_EXCL_OPTIONS (args));
-      break;
-
-    case EXCLUDE_CACHES_OPTION:
-      add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_contents,
-                        cachedir_file_p);
-      break;
-
-    case EXCLUDE_CACHES_UNDER_OPTION:
-      add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_under,
-                        cachedir_file_p);
-      break;
-
-    case EXCLUDE_CACHES_ALL_OPTION:
-      add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_all,
-                        cachedir_file_p);
-      break;
-
-    case EXCLUDE_IGNORE_OPTION:
-      excfile_add (arg, EXCL_NON_RECURSIVE);
-      break;
-
-    case EXCLUDE_IGNORE_RECURSIVE_OPTION:
-      excfile_add (arg, EXCL_RECURSIVE);
-      break;
-      
-    case EXCLUDE_TAG_OPTION:
-      add_exclusion_tag (arg, exclusion_tag_contents, NULL);
-      break;
-
-    case EXCLUDE_TAG_UNDER_OPTION:
-      add_exclusion_tag (arg, exclusion_tag_under, NULL);
-      break;
-
-    case EXCLUDE_TAG_ALL_OPTION:
-      add_exclusion_tag (arg, exclusion_tag_all, NULL);
-      break;
-
-    case EXCLUDE_VCS_OPTION:
-      add_exclude_array (vcs_file_table, 0);
-      break;
-
-    case EXCLUDE_VCS_IGNORES_OPTION:
-      exclude_vcs_ignores ();
-      break;
-      
     case FORCE_LOCAL_OPTION:
       force_local_option = true;
       break;
@@ -1827,10 +1726,6 @@ parse_opt (int key, char *arg, struct argp_state *state)
       index_file_name = arg;
       break;
 
-    case IGNORE_CASE_OPTION:
-      args->matching_flags |= FNM_CASEFOLD;
-      break;
-
     case IGNORE_COMMAND_ERROR_OPTION:
       ignore_command_error_option = true;
       break;
@@ -1844,7 +1739,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case KEEP_NEWER_FILES_OPTION:
-      old_files_option = KEEP_NEWER_FILES;
+      set_old_files_option (KEEP_NEWER_FILES, args->loc);
       break;
 
     case GROUP_OPTION:
@@ -1862,6 +1757,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
       }
       break;
 
+    case GROUP_MAP_OPTION:
+      group_map_read (arg);
+      break;
+      
     case MODE_OPTION:
       mode_option = mode_compile (arg);
       if (!mode_option)
@@ -1870,21 +1769,12 @@ parse_opt (int key, char *arg, struct argp_state *state)
       umask (initial_umask);
       break;
 
-    case NO_ANCHORED_OPTION:
-      args->include_anchored = 0; /* Clear the default for comman line args */
-      args->matching_flags &= ~ EXCLUDE_ANCHORED;
-      break;
-
-    case NO_IGNORE_CASE_OPTION:
-      args->matching_flags &= ~ FNM_CASEFOLD;
-      break;
-
     case NO_IGNORE_COMMAND_ERROR_OPTION:
       ignore_command_error_option = false;
       break;
 
     case NO_OVERWRITE_DIR_OPTION:
-      old_files_option = NO_OVERWRITE_DIR_OLD_FILES;
+      set_old_files_option (NO_OVERWRITE_DIR_OLD_FILES, args->loc);
       break;
 
     case NO_QUOTE_CHARS_OPTION:
@@ -1892,27 +1782,12 @@ parse_opt (int key, char *arg, struct argp_state *state)
        set_char_quoting (NULL, *arg, 0);
       break;
 
-    case NO_WILDCARDS_OPTION:
-      args->wildcards = disable_wildcards;
-      break;
-
-    case NO_WILDCARDS_MATCH_SLASH_OPTION:
-      args->matching_flags |= FNM_FILE_NAME;
-      break;
-
-    case NULL_OPTION:
-      filename_terminator = '\0';
-      break;
-
-    case NO_NULL_OPTION:
-      filename_terminator = '\n';
-      break;
-
     case NUMERIC_OWNER_OPTION:
       numeric_owner_option = true;
       break;
 
     case OCCURRENCE_OPTION:
+      optloc_save (OC_OCCURRENCE, args->loc);
       if (!arg)
        occurrence_option = 1;
       else
@@ -1931,11 +1806,11 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case OVERWRITE_DIR_OPTION:
-      old_files_option = DEFAULT_OLD_FILES;
+      set_old_files_option (DEFAULT_OLD_FILES, args->loc);
       break;
 
     case OVERWRITE_OPTION:
-      old_files_option = OVERWRITE_OLD_FILES;
+      set_old_files_option (OVERWRITE_OLD_FILES, args->loc);
       break;
 
     case OWNER_OPTION:
@@ -1953,6 +1828,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
       }
       break;
 
+    case OWNER_MAP_OPTION:
+      owner_map_read (arg);
+      break;
+      
     case QUOTE_CHARS_OPTION:
       for (;*arg; arg++)
        set_char_quoting (NULL, *arg, 1);
@@ -1975,14 +1854,6 @@ parse_opt (int key, char *arg, struct argp_state *state)
       set_archive_format ("posix");
       break;
 
-    case PRESERVE_OPTION:
-      /* FIXME: What it is good for? */
-      same_permissions_option = true;
-      same_order_option = true;
-      WARN ((0, 0, _("The --preserve option is deprecated, "
-                    "use --preserve-permissions --preserve-order instead")));
-      break;
-
     case RECORD_SIZE_OPTION:
       {
        uintmax_t u;
@@ -2080,25 +1951,13 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
 
     case 'I':
-      set_use_compress_program_option (arg);
+      set_use_compress_program_option (arg, args->loc);
       break;
 
     case VOLNO_FILE_OPTION:
       volno_file_option = arg;
       break;
 
-    case WILDCARDS_OPTION:
-      args->wildcards = enable_wildcards;
-      break;
-
-    case WILDCARDS_MATCH_SLASH_OPTION:
-      args->matching_flags &= ~ FNM_FILE_NAME;
-      break;
-
-    case NO_RECURSION_OPTION:
-      recursion_option = 0;
-      break;
-
     case NO_SAME_OWNER_OPTION:
       same_owner_option = -1;
       break;
@@ -2139,22 +1998,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
       xattrs_mask_add (arg, (key == XATTR_INCLUDE));
       break;
 
-    case RECURSION_OPTION:
-      recursion_option = FNM_LEADING_DIR;
-      break;
-
     case SAME_OWNER_OPTION:
       same_owner_option = 1;
       break;
 
-    case UNQUOTE_OPTION:
-      unquote_option = true;
-      break;
-
-    case NO_UNQUOTE_OPTION:
-      unquote_option = false;
-      break;
-
     case WARNING_OPTION:
       set_warning_option (arg);
       break;
@@ -2223,18 +2070,28 @@ parse_opt (int key, char *arg, struct argp_state *state)
 
 #endif /* not DEVICE_PREFIX */
 
+    case ARGP_KEY_ERROR:
+      if (args->loc->source == OPTS_FILE)
+       error (0, 0, _("%s:%lu: location of the error"), args->loc->name,
+              (unsigned long) args->loc->line);
+      else if (args->loc->source == OPTS_ENVIRON)
+       error (0, 0, _("error parsing %s"), args->loc->name);
+      exit (EX_USAGE);
+
     default:
       return ARGP_ERR_UNKNOWN;
     }
   return 0;
 }
 
+extern struct argp_child names_argp_children[];
+
 static struct argp argp = {
   options,
   parse_opt,
   N_("[FILE]..."),
   doc,
-  NULL,
+  names_argp_children,
   tar_help_filter,
   NULL
 };
@@ -2249,8 +2106,8 @@ usage (int status)
 
 /* Parse the options for tar.  */
 
-static struct argp_option *
-find_argp_option (struct argp_option *o, int letter)
+static struct argp_option const *
+find_argp_option_key (struct argp_option const *o, int key)
 {
   for (;
        !(o->name == NULL
@@ -2258,11 +2115,30 @@ find_argp_option (struct argp_option *o, int letter)
         && o->arg == 0
         && o->flags == 0
         && o->doc == NULL); o++)
-    if (o->key == letter)
+    if (o->key == key)
       return o;
   return NULL;
 }
 
+static struct argp_option const *
+find_argp_option (struct argp *ap, int key)
+{
+  struct argp_option const *p = NULL;
+  struct argp_child const *child;
+  
+  p = find_argp_option_key (ap->options, key);
+  if (!p && ap->children)
+    {
+      for (child = ap->children; child->argp; child++)
+       {
+         p = find_argp_option_key (child->argp->options, key);
+         if (p)
+           break;
+       }
+    }
+  return p;
+}
+  
 static const char *tar_authors[] = {
   "John Gilmore",
   "Jay Fenlason",
@@ -2295,26 +2171,51 @@ static int subcommand_class[] = {
 
 static struct tar_args args;
 
+void
+more_options (int argc, char **argv, struct option_locus *loc)
+{
+  int idx;
+
+  args.loc = loc;
+  if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER|ARGP_NO_EXIT, &idx, &args))
+    abort (); /* shouldn't happen */
+  if (loc->source == OPTS_ENVIRON && args.input_files)
+    USAGE_ERROR ((0, 0, _("non-option arguments in %s"), loc->name));
+}
+
 static void
-option_conflict_error (const char *a, const char *b)
+parse_default_options (void)
 {
-  /* TRANSLATORS: Both %s in this statement are replaced with
-     option names. */
-  USAGE_ERROR ((0, 0, _("'%s' cannot be used with '%s'"), a, b));
+  char *opts = getenv ("TAR_OPTIONS");
+  struct wordsplit ws;
+  struct option_locus loc = { OPTS_ENVIRON, "TAR_OPTIONS", 0, 0 };
+
+  if (!opts)
+    return;
+
+  ws.ws_offs = 1;
+  if (wordsplit (opts, &ws, WRDSF_DEFFLAGS|WRDSF_DOOFFS))
+    FATAL_ERROR ((0, 0, _("cannot split TAR_OPTIONS: %s"),
+                 wordsplit_strerror (&ws)));
+  if (ws.ws_wordc)
+    {
+      ws.ws_wordv[0] = (char*) program_name;
+      more_options (ws.ws_offs + ws.ws_wordc, ws.ws_wordv, &loc);
+    }
+
+  wordsplit_free (&ws);
 }
 
 static void
 decode_options (int argc, char **argv)
 {
   int idx;
+  struct option_locus loc = { OPTS_COMMAND_LINE, 0, 0, 0 };
 
   argp_version_setup ("tar", tar_authors);
 
   /* Set some default option values.  */
   args.textual_date = NULL;
-  args.wildcards = default_wildcards;
-  args.matching_flags = 0;
-  args.include_anchored = EXCLUDE_ANCHORED;
   args.o_option = false;
   args.pax_option = false;
   args.backup_suffix_string = getenv ("SIMPLE_BACKUP_SUFFIX");
@@ -2327,16 +2228,19 @@ decode_options (int argc, char **argv)
   blocking_factor = DEFAULT_BLOCKING;
   record_size = DEFAULT_BLOCKING * BLOCKSIZE;
   excluded = new_exclude ();
-  
+  hole_detection = HOLE_DETECTION_DEFAULT;
+
   newer_mtime_option.tv_sec = TYPE_MINIMUM (time_t);
   newer_mtime_option.tv_nsec = -1;
+  mtime_option.tv_sec = TYPE_MINIMUM (time_t);
+  mtime_option.tv_nsec = -1;
   recursion_option = FNM_LEADING_DIR;
   unquote_option = true;
   tar_sparse_major = 1;
   tar_sparse_minor = 0;
 
   savedir_sort_order = SAVEDIR_SORT_NONE;
-  
+
   owner_option = -1; owner_name_option = NULL;
   group_option = -1; group_name_option = NULL;
 
@@ -2376,11 +2280,11 @@ decode_options (int argc, char **argv)
 
       for (letter = *in++; *letter; letter++)
        {
-         struct argp_option *opt;
+         struct argp_option const *opt;
 
          buffer[1] = *letter;
          *out++ = xstrdup (buffer);
-         opt = find_argp_option (options, *letter);
+         opt = find_argp_option (&argp, *letter);
          if (opt && opt->arg)
            {
              if (in < argv + argc)
@@ -2404,9 +2308,9 @@ decode_options (int argc, char **argv)
     }
 
   /* Parse all options and non-options as they appear.  */
+  parse_default_options ();
 
-  prepend_default_options (getenv ("TAR_OPTIONS"), &argc, &argv);
-
+  args.loc = &loc;
   if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER, &idx, &args))
     exit (TAREXIT_FAILURE);
 
@@ -2436,14 +2340,10 @@ decode_options (int argc, char **argv)
   /* Handle operands after any "--" argument.  */
   for (; idx < argc; idx++)
     {
-      name_add_name (argv[idx], MAKE_INCL_OPTIONS (&args));
+      name_add_name (argv[idx]);
       args.input_files = true;
     }
 
-  /* Warn about implicit use of the wildcards in command line arguments.
-     See TODO */
-  warn_regex_usage = args.wildcards == default_wildcards;
-
   /* Derive option values and check option consistency.  */
 
   if (archive_format == DEFAULT_FORMAT)
@@ -2468,8 +2368,13 @@ decode_options (int argc, char **argv)
        USAGE_ERROR ((0, 0,
                      _("--occurrence is meaningless without a file list")));
       if (!IS_SUBCOMMAND_CLASS (SUBCL_OCCUR))
-       option_conflict_error ("--occurrence",
-                              subcommand_string (subcommand_option));
+       {
+         if (option_set_in_cl (OC_OCCURRENCE))
+           option_conflict_error ("--occurrence",
+                                  subcommand_string (subcommand_option));
+         else
+           occurrence_option = 0;
+       }
     }
 
   if (archive_names == 0)
@@ -2490,9 +2395,18 @@ decode_options (int argc, char **argv)
                  _("Multiple archive files require '-M' option")));
 
   if (listed_incremental_option
-      && NEWER_OPTION_INITIALIZED (newer_mtime_option))
-    option_conflict_error ("--listed-incremental", "--newer");
-  
+      && TIME_OPTION_INITIALIZED (newer_mtime_option))
+    {
+      struct option_locus *listed_loc = optloc_lookup (OC_LISTED_INCREMENTAL);
+      struct option_locus *newer_loc = optloc_lookup (OC_NEWER);
+      if (optloc_eq (listed_loc, newer_loc))
+       option_conflict_error ("--listed-incremental", "--newer");
+      else if (listed_loc->source == OPTS_COMMAND_LINE)
+       listed_incremental_option = NULL;
+      else
+       memset (&newer_mtime_option, 0, sizeof (newer_mtime_option));
+    }
+
   if (incremental_level != -1 && !listed_incremental_option)
     WARN ((0, 0,
           _("--level is meaningless without --listed-incremental")));
@@ -2529,8 +2443,13 @@ decode_options (int argc, char **argv)
       if (use_compress_program_option)
        USAGE_ERROR ((0, 0, _("Cannot verify compressed archives")));
       if (!IS_SUBCOMMAND_CLASS (SUBCL_WRITE))
-       option_conflict_error ("--verify",
-                              subcommand_string (subcommand_option));
+       {
+         if (option_set_in_cl (OC_VERIFY))
+           option_conflict_error ("--verify",
+                                  subcommand_string (subcommand_option));
+         else
+           verify_option = false;
+       }
     }
 
   if (use_compress_program_option)
@@ -2543,6 +2462,13 @@ decode_options (int argc, char **argv)
        USAGE_ERROR ((0, 0, _("Cannot concatenate compressed archives")));
     }
 
+  if (set_mtime_option == CLAMP_MTIME)
+    {
+      if (!TIME_OPTION_INITIALIZED (mtime_option))
+       USAGE_ERROR ((0, 0,
+                     _("--clamp-mtime needs a date specified using --mtime")));
+    }
+
   /* It is no harm to use --pax-option on non-pax archives in archive
      reading mode. It may even be useful, since it allows to override
      file attributes from tar headers. Therefore I allow such usage.
@@ -2570,21 +2496,43 @@ decode_options (int argc, char **argv)
     USAGE_ERROR ((0, 0, _("--xattrs can be used only on POSIX archives")));
 
   if (starting_file_option && !IS_SUBCOMMAND_CLASS (SUBCL_READ))
-    option_conflict_error ("--starting-file",
-                          subcommand_string (subcommand_option));
+    {
+      if (option_set_in_cl (OC_STARTING_FILE))
+       option_conflict_error ("--starting-file",
+                              subcommand_string (subcommand_option));
+      else
+       starting_file_option = false;
+    }
 
   if (same_order_option && !IS_SUBCOMMAND_CLASS (SUBCL_READ))
-    option_conflict_error ("--same-order",
-                          subcommand_string (subcommand_option));
+    {
+      if (option_set_in_cl (OC_SAME_ORDER))
+       option_conflict_error ("--same-order",
+                              subcommand_string (subcommand_option));
+      else
+       same_order_option = false;
+    }
 
   if (one_top_level_option)
     {
       char *base;
-      
+
       if (absolute_names_option)
-       option_conflict_error ("--one-top-level", "--absolute-names");
-      
-      if (!one_top_level_dir)
+       {
+         struct option_locus *one_top_level_loc =
+           optloc_lookup (OC_ONE_TOP_LEVEL);
+         struct option_locus *absolute_names_loc =
+           optloc_lookup (OC_ABSOLUTE_NAMES);
+
+         if (optloc_eq (one_top_level_loc, absolute_names_loc))
+           option_conflict_error ("--one-top-level", "--absolute-names");
+         else if (one_top_level_loc->source == OPTS_COMMAND_LINE)
+           absolute_names_option = false;
+         else
+           one_top_level_option = false;
+       }
+
+      if (one_top_level_option && !one_top_level_dir)
        {
          /* If the user wants to guarantee that everything is under one
             directory, determine its name now and let it be created later.  */
@@ -2630,7 +2578,18 @@ decode_options (int argc, char **argv)
     USAGE_ERROR ((0, 0, _("Volume length cannot be less than record size")));
 
   if (same_order_option && listed_incremental_option)
-    option_conflict_error ("--preserve-order", "--listed-incremental");
+    {
+      struct option_locus *preserve_order_loc = optloc_lookup (OC_SAME_ORDER);
+      struct option_locus *listed_incremental_loc =
+       optloc_lookup (OC_LISTED_INCREMENTAL);
+
+      if (optloc_eq (preserve_order_loc, listed_incremental_loc))
+       option_conflict_error ("--preserve-order", "--listed-incremental");
+      else if (preserve_order_loc->source == OPTS_COMMAND_LINE)
+       listed_incremental_option = false;
+      else
+       same_order_option = false;
+    }
 
   /* Forbid using -c with no input files whatsoever.  Check that '-f -',
      explicit or implied, is used correctly.  */
@@ -2703,14 +2662,6 @@ 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);
-}
 \f
 /* Tar proper.  */
 
@@ -2728,8 +2679,7 @@ main (int argc, char **argv)
   exit_failure = TAREXIT_FAILURE;
   exit_status = TAREXIT_SUCCESS;
   error_hook = checkpoint_flush_actions;
-  
-  filename_terminator = '\n';
+
   set_quoting_style (0, DEFAULT_QUOTING_STYLE);
 
   /* Make sure we have first three descriptors available */
@@ -2803,7 +2753,7 @@ main (int argc, char **argv)
     }
 
   checkpoint_finish ();
-  
+
   if (totals_option)
     print_total_stats ();
 
index 3d6939948ba5ae10b10816a53d72b652d1ef6fad..07b5bc15786460b06410442913cb66098374ad99 100644 (file)
--- a/src/tar.h
+++ b/src/tar.h
@@ -1,7 +1,7 @@
 /* GNU tar Archive Format description.
 
-   Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014 Free
-   Software Foundation, Inc.
+   Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014, 2016
+   Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -327,6 +327,10 @@ struct tar_stat_info
   size_t sparse_map_size;   /* Size of the sparse map */
   struct sp_array *sparse_map;
 
+  off_t real_size;          /* The real size of sparse file */
+  int   real_size_set;      /* True when GNU.sparse.realsize is set in
+                              archived file */
+
   size_t xattr_map_size;   /* Size of the xattr map */
   struct xattr_array *xattr_map;
 
index cd9e27ccf4f6fe624d9f401a58ffd4304bc9794b..155d369810d967e61090654e1cefdb97cc722ee0 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of GNU tar.
-   Copyright 2006-2008, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2006-2008, 2013-2014, 2016 Free Software Foundation, Inc.
 
    This 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
@@ -378,13 +378,15 @@ parse_transform_expr (const char *expr)
              break;
 
            default:
-             /* Try to be nice */
-             {
-               char buf[2];
-               buf[0] = '\\';
-               buf[1] = *cur;
-               add_literal_segment (tf, buf, buf + 2);
-             }
+             if (*cur == delim)
+               add_char_segment (tf, delim);
+             else
+               {
+                 char buf[2];
+                 buf[0] = '\\';
+                 buf[1] = *cur;
+                 add_literal_segment (tf, buf, buf + 2);
+               }
              cur++;
              break;
            }
index 7f86cc5844a16f3aeecd1f96a69a34a2cf80de5d..6ae51ce1fc1e575cb5dc4c57da865cc42c2f5628 100644 (file)
@@ -1,6 +1,6 @@
 /* Unlink files.
 
-   Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -32,6 +32,10 @@ struct deferred_unlink
                                       entry got added to the queue */
   };
 
+#define IS_CWD(p) \
+  ((p)->is_dir \
+   && ((p)->file_name[0] == 0 || strcmp ((p)->file_name, ".") == 0))
+
 /* The unlink queue */
 static struct deferred_unlink *dunlink_head, *dunlink_tail;
 
@@ -60,6 +64,24 @@ dunlink_alloc (void)
   return p;
 }
 
+static void
+dunlink_insert (struct deferred_unlink *anchor, struct deferred_unlink *p)
+{
+  if (anchor)
+    {
+      p->next = anchor->next;
+      anchor->next = p;
+    }
+  else 
+    {
+      p->next = dunlink_head;
+      dunlink_head = p;
+    }
+  if (!p->next)
+    dunlink_tail = p;
+  dunlink_count++;
+}
+
 static void
 dunlink_reclaim (struct deferred_unlink *p)
 {
@@ -73,7 +95,7 @@ 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;
@@ -86,12 +108,11 @@ flush_deferred_unlinks (bool force)
            {
              const char *fname;
 
-             if (p->dir_idx
-                 && (p->file_name[0] == 0
-                     || strcmp (p->file_name, ".") == 0))
+             if (p->dir_idx && IS_CWD (p))
                {
-                 fname = tar_dirname ();
-                 chdir_do (p->dir_idx - 1);
+                 prev = p;
+                 p = next;
+                 continue;
                }
              else
                fname = p->file_name;
@@ -103,16 +124,16 @@ flush_deferred_unlinks (bool force)
                    case ENOENT:
                      /* nothing to worry about */
                      break;
+                   case EEXIST:
+                     /* OpenSolaris >=10 sets EEXIST instead of ENOTEMPTY
+                        if trying to remove a non-empty directory */
                    case ENOTEMPTY:
-                     if (!force)
-                       {
-                         /* Keep the record in list, in the hope we'll
-                            be able to remove it later */
-                         prev = p;
-                         p = next;
-                         continue;
-                       }
-                     /* fall through */
+                     /* Keep the record in list, in the hope we'll
+                        be able to remove it later */
+                     prev = p;
+                     p = next;
+                     continue;
+
                    default:
                      rmdir_error (fname);
                    }
@@ -139,6 +160,34 @@ flush_deferred_unlinks (bool force)
     }
   if (!dunlink_head)
     dunlink_tail = NULL;
+  else if (force)
+    {
+      for (p = dunlink_head; p; )
+       {
+         struct deferred_unlink *next = p->next;
+         const char *fname;
+
+         chdir_do (p->dir_idx);
+         if (p->dir_idx && IS_CWD (p))
+           {
+             fname = tar_dirname ();
+             chdir_do (p->dir_idx - 1);
+           }
+         else
+           fname = p->file_name;
+
+         if (unlinkat (chdir_fd, fname, AT_REMOVEDIR) != 0)
+           {
+             if (errno != ENOENT)
+               rmdir_error (fname);
+           }
+         dunlink_reclaim (p);
+         dunlink_count--;
+         p = next;
+       }
+      dunlink_head = dunlink_tail = NULL;
+    }    
+           
   chdir_do (saved_chdir);
 }
 
@@ -146,6 +195,7 @@ void
 finish_deferred_unlinks (void)
 {
   flush_deferred_unlinks (true);
+  
   while (dunlink_avail)
     {
       struct deferred_unlink *next = dunlink_avail->next;
@@ -171,10 +221,17 @@ queue_deferred_unlink (const char *name, bool is_dir)
   p->is_dir = is_dir;
   p->records_written = records_written;
 
-  if (dunlink_tail)
-    dunlink_tail->next = p;
+  if (IS_CWD (p))
+    {
+      struct deferred_unlink *q, *prev;
+      for (q = dunlink_head, prev = NULL; q; prev = q, q = q->next)
+       if (IS_CWD (q) && q->dir_idx < p->dir_idx)
+         break;
+      if (q)
+       dunlink_insert (prev, p);
+      else
+       dunlink_insert (dunlink_tail, p);
+    }
   else
-    dunlink_head = p;
-  dunlink_tail = p;
-  dunlink_count++;
+    dunlink_insert (dunlink_tail, p);
 }
index c8fca0c5a7c79da702d1bac53dff862d187fc2ff..ad7a6bf78be480efa1ecdb71866c90340c892020 100644 (file)
@@ -1,7 +1,7 @@
 /* Update a tar archive.
 
    Copyright 1988, 1992, 1994, 1996-1997, 1999-2001, 2003-2005, 2007,
-   2010, 2013-2014 Free Software Foundation, Inc.
+   2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
index 07a390400a9f7d3466f55fd30117a7d20db935cd..195fef5522d3c2842251db8d3a07dd8634838a86 100644 (file)
@@ -1,6 +1,7 @@
 /* Charset handling for GNU tar.
 
-   Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+   Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+   Inc.
 
    This file is part of GNU tar.
 
index 1cea3161466ffca04acda97b647b387304a9c452..86a0fd1367eaddf7e471e9d23cd4e657979df559 100644 (file)
@@ -1,6 +1,6 @@
 /* Warnings for GNU tar.
 
-   Copyright 2009, 2012-2014 Free Software Foundation, Inc.
+   Copyright 2009, 2012-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
index 307ee380fab183f8b02915f1d585ba80b1d0684b..8e561680b950020b8ab5a85788c0aaf46b64c144 100644 (file)
@@ -1,6 +1,6 @@
 /* Support for extended attributes.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
index 83630613fbccb6c16f984a5d094d6d9707ee36a9..a475bb6a7a26ad7c5bfa5de1b0ae0d21c4f852d8 100644 (file)
@@ -1,6 +1,6 @@
 /* Support for extended attributes.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014, 2016 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
index c94c6d39f1e2437a3caa8ea577d436cd77275143..8dda5809c80a5d1835c0bcc0a21f5e711d0281c0 100644 (file)
@@ -1,6 +1,6 @@
 /* POSIX extended headers for tar.
 
-   Copyright (C) 2003-2007, 2009-2010, 2012-2014 Free Software
+   Copyright (C) 2003-2007, 2009-2010, 2012-2014, 2016 Free Software
    Foundation, Inc.
 
    This file is part of GNU tar.
@@ -755,6 +755,16 @@ xheader_decode (struct tar_stat_info *st)
        continue;
     }
   run_override_list (keyword_override_list, st);
+
+  /* The archived (effective) file size is always set directly in tar header
+     field, possibly overridden by "size" extended header - in both cases,
+     result is now decoded in st->stat.st_size */
+  st->archive_file_size = st->stat.st_size;
+
+  /* The real file size (given by stat()) may be redefined for sparse
+     files in "GNU.sparse.realsize" extended header */
+  if (st->real_size_set)
+    st->stat.st_size = st->real_size;
 }
 
 static void
@@ -803,11 +813,11 @@ xheader_store (char const *keyword, struct tar_stat_info *st,
   t = locate_handler (keyword);
   if (!t || !t->coder)
     return;
-  if (xheader_keyword_deleted_p (keyword)
-      || xheader_keyword_override_p (keyword))
+  if (xheader_keyword_deleted_p (keyword))
     return;
   xheader_init (&st->xhdr);
-  t->coder (st, keyword, &st->xhdr, data);
+  if (!xheader_keyword_override_p (keyword))
+    t->coder (st, keyword, &st->xhdr, data);
 }
 
 void
@@ -1017,7 +1027,7 @@ xheader_string_end (struct xheader *xhdr, char const *keyword)
     }
   x_obstack_blank (xhdr, p);
   x_obstack_1grow (xhdr, '\n');
-  cp = obstack_next_free (xhdr->stk) - xhdr->string_length - p - 1;
+  cp = (char*) obstack_next_free (xhdr->stk) - xhdr->string_length - p - 1;
   memmove (cp + p, cp, xhdr->string_length);
   cp = stpcpy (cp, np);
   *cp++ = ' ';
@@ -1360,7 +1370,10 @@ sparse_size_decoder (struct tar_stat_info *st,
 {
   uintmax_t u;
   if (decode_num (&u, arg, TYPE_MAXIMUM (off_t), keyword))
-    st->stat.st_size = u;
+    {
+      st->real_size_set = 1;
+      st->real_size = u;
+    }
 }
 
 static void
@@ -1443,13 +1456,13 @@ sparse_map_decoder (struct tar_stat_info *st,
                    size_t size __attribute__((unused)))
 {
   int offset = 1;
+  struct sp_array e;
 
   st->sparse_map_avail = 0;
   while (1)
     {
       intmax_t u;
       char *delim;
-      struct sp_array e;
 
       if (!ISDIGIT (*arg))
        {
index 6684d1d89952ef71a4dc60106442b560936d883d..3e9427692ff7dfdbb1312ff5320449c3be7fc6dd 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for GNU tar regression tests.
 
-# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2013 Free Software
+# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2015 Free Software
 
 # This file is part of GNU tar.
 
@@ -43,9 +43,13 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
 
 TESTSUITE_AT = \
  T-cd.at\
+ T-dir00.at\
+ T-dir01.at\
  T-empty.at\
  T-null.at\
+ T-null2.at\
  T-rec.at\
+ T-recurse.at\
  T-zfile.at\
  T-nonl.at\
  T-mult.at\
@@ -56,9 +60,11 @@ TESTSUITE_AT = \
  append02.at\
  append03.at\
  append04.at\
+ append05.at\
  backup01.at\
  chtype.at\
  comprec.at\
+ comperr.at\
  delete01.at\
  delete02.at\
  delete03.at\
@@ -114,9 +120,10 @@ TESTSUITE_AT = \
  incr07.at\
  incr08.at\
  incr09.at\
+ incr10.at\
+ incr11.at\
  indexfile.at\
  ignfail.at\
- iotty.at\
  label01.at\
  label02.at\
  label03.at\
@@ -136,6 +143,7 @@ TESTSUITE_AT = \
  lustar01.at\
  lustar02.at\
  lustar03.at\
+ map.at\
  multiv01.at\
  multiv02.at\
  multiv03.at\
@@ -144,11 +152,14 @@ TESTSUITE_AT = \
  multiv06.at\
  multiv07.at\
  multiv08.at\
+ multiv09.at\
+ numeric.at\
  old.at\
  onetop01.at\
  onetop02.at\
  onetop03.at\
  onetop04.at\
+ onetop05.at\
  opcomp01.at\
  opcomp02.at\
  opcomp03.at\
@@ -198,12 +209,15 @@ TESTSUITE_AT = \
  sparse02.at\
  sparse03.at\
  sparse04.at\
+ sparse05.at\
+ sparse06.at\
  sparsemv.at\
  sparsemvp.at\
  spmvp00.at\
  spmvp01.at\
  spmvp10.at\
  time01.at\
+ time02.at\
  truncate.at\
  update.at\
  update01.at\
@@ -215,6 +229,7 @@ TESTSUITE_AT = \
  version.at\
  xform-h.at\
  xform01.at\
+ xform02.at\
  star/gtarfail.at\
  star/gtarfail2.at\
  star/multi-fail.at\
@@ -233,6 +248,9 @@ TESTSUITE_AT = \
  selacl01.at\
  capabs_raw01.at
 
+distclean-local:
+       -rm -rf download
+
 TESTSUITE = $(srcdir)/testsuite
 
 AUTOTEST = $(AUTOM4TE) --language=autotest
@@ -255,7 +273,7 @@ check-full:
 #check_SCRIPTS = tar
 
 # Run the test suite on the *installed* tree.
-installcheck-local:
+installcheck-local: $(check_PROGRAMS)
        $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) AUTOTEST_PATH=$(exec_prefix)/bin
 
 
@@ -263,15 +281,10 @@ installcheck-local:
 ## genfile      ##
 ## ------------ ##
 
-check_PROGRAMS = genfile
-
-if TAR_COND_GRANTPT
-check_PROGRAMS += ttyemu
-endif
+check_PROGRAMS = genfile checkseekhole ckmtime
 
 genfile_SOURCES = genfile.c argcv.c argcv.h
-
-ttyemu_SOURCES = ttyemu.c
+checkseekhole_SOURCES = checkseekhole.c
 
 localedir = $(datadir)/locale
 AM_CPPFLAGS = \
index 6807509e74ae12f208800885953f9322e5e28427..f3e83fd17b6410884e923181dae3c1ea4d96ab1e 100644 (file)
@@ -16,7 +16,7 @@
 
 # Makefile for GNU tar regression tests.
 
-# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2013 Free Software
+# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2015 Free Software
 
 # This file is part of GNU tar.
 
@@ -95,8 +95,8 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-check_PROGRAMS = genfile$(EXEEXT) $(am__EXEEXT_1)
-@TAR_COND_GRANTPT_TRUE@am__append_1 = ttyemu
+check_PROGRAMS = genfile$(EXEEXT) checkseekhole$(EXEEXT) \
+       ckmtime$(EXEEXT)
 subdir = tests
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(srcdir)/atlocal.in $(top_srcdir)/build-aux/depcomp
@@ -125,10 +125,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.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 \
@@ -143,10 +144,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
-       $(top_srcdir)/m4/langinfo_h.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/iswblank.m4 $(top_srcdir)/m4/langinfo_h.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 \
@@ -168,14 +169,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/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/posix_openpt.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \
+       $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.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/ptsname.m4 \
-       $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.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 \
@@ -211,42 +211,46 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.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/time_rz.m4 $(top_srcdir)/m4/timegm.m4 \
        $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/unistd-safer.m4 \
        $(top_srcdir)/m4/unistd_h.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/unlockpt.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 \
-       $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \
-       $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xsize.m4 \
-       $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
+       $(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 $(top_srcdir)/m4/write.m4 \
+       $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
+       $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
+       $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/xvasprintf.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = atlocal
 CONFIG_CLEAN_VPATH_FILES =
-@TAR_COND_GRANTPT_TRUE@am__EXEEXT_1 = ttyemu$(EXEEXT)
+am_checkseekhole_OBJECTS = checkseekhole.$(OBJEXT)
+checkseekhole_OBJECTS = $(am_checkseekhole_OBJECTS)
+checkseekhole_LDADD = $(LDADD)
+am__DEPENDENCIES_1 =
+checkseekhole_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+ckmtime_SOURCES = ckmtime.c
+ckmtime_OBJECTS = ckmtime.$(OBJEXT)
+ckmtime_LDADD = $(LDADD)
+ckmtime_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am_genfile_OBJECTS = genfile.$(OBJEXT) argcv.$(OBJEXT)
 genfile_OBJECTS = $(am_genfile_OBJECTS)
 genfile_LDADD = $(LDADD)
-am__DEPENDENCIES_1 =
 genfile_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am_ttyemu_OBJECTS = ttyemu.$(OBJEXT)
-ttyemu_OBJECTS = $(am_ttyemu_OBJECTS)
-ttyemu_LDADD = $(LDADD)
-ttyemu_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \
-       $(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
@@ -275,8 +279,8 @@ 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) $(ttyemu_SOURCES)
-DIST_SOURCES = $(genfile_SOURCES) $(ttyemu_SOURCES)
+SOURCES = $(checkseekhole_SOURCES) ckmtime.c $(genfile_SOURCES)
+DIST_SOURCES = $(checkseekhole_SOURCES) ckmtime.c $(genfile_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -500,6 +504,7 @@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
 GNULIB_RAISE = @GNULIB_RAISE@
 GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
@@ -559,6 +564,7 @@ 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_TIME_RZ = @GNULIB_TIME_RZ@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
@@ -711,6 +717,7 @@ HAVE_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
 HAVE_MBRLEN = @HAVE_MBRLEN@
 HAVE_MBRTOWC = @HAVE_MBRTOWC@
 HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -797,6 +804,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_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -870,6 +878,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
 LIB_ACL = @LIB_ACL@
 LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
 LIB_EACCESS = @LIB_EACCESS@
+LIB_HAS_ACL = @LIB_HAS_ACL@
 LIB_SELINUX = @LIB_SELINUX@
 LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1035,10 +1044,12 @@ REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
 REPLACE_RAISE = @REPLACE_RAISE@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
 REPLACE_REALLOC = @REPLACE_REALLOC@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
@@ -1071,6 +1082,7 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
@@ -1113,6 +1125,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
 UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
 UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
 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@
@@ -1194,9 +1207,13 @@ MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
 #
 TESTSUITE_AT = \
  T-cd.at\
+ T-dir00.at\
+ T-dir01.at\
  T-empty.at\
  T-null.at\
+ T-null2.at\
  T-rec.at\
+ T-recurse.at\
  T-zfile.at\
  T-nonl.at\
  T-mult.at\
@@ -1207,9 +1224,11 @@ TESTSUITE_AT = \
  append02.at\
  append03.at\
  append04.at\
+ append05.at\
  backup01.at\
  chtype.at\
  comprec.at\
+ comperr.at\
  delete01.at\
  delete02.at\
  delete03.at\
@@ -1265,9 +1284,10 @@ TESTSUITE_AT = \
  incr07.at\
  incr08.at\
  incr09.at\
+ incr10.at\
+ incr11.at\
  indexfile.at\
  ignfail.at\
- iotty.at\
  label01.at\
  label02.at\
  label03.at\
@@ -1287,6 +1307,7 @@ TESTSUITE_AT = \
  lustar01.at\
  lustar02.at\
  lustar03.at\
+ map.at\
  multiv01.at\
  multiv02.at\
  multiv03.at\
@@ -1295,11 +1316,14 @@ TESTSUITE_AT = \
  multiv06.at\
  multiv07.at\
  multiv08.at\
+ multiv09.at\
+ numeric.at\
  old.at\
  onetop01.at\
  onetop02.at\
  onetop03.at\
  onetop04.at\
+ onetop05.at\
  opcomp01.at\
  opcomp02.at\
  opcomp03.at\
@@ -1349,12 +1373,15 @@ TESTSUITE_AT = \
  sparse02.at\
  sparse03.at\
  sparse04.at\
+ sparse05.at\
+ sparse06.at\
  sparsemv.at\
  sparsemvp.at\
  spmvp00.at\
  spmvp01.at\
  spmvp10.at\
  time01.at\
+ time02.at\
  truncate.at\
  update.at\
  update01.at\
@@ -1366,6 +1393,7 @@ TESTSUITE_AT = \
  version.at\
  xform-h.at\
  xform01.at\
+ xform02.at\
  star/gtarfail.at\
  star/gtarfail2.at\
  star/multi-fail.at\
@@ -1387,7 +1415,7 @@ TESTSUITE_AT = \
 TESTSUITE = $(srcdir)/testsuite
 AUTOTEST = $(AUTOM4TE) --language=autotest
 genfile_SOURCES = genfile.c argcv.c argcv.h
-ttyemu_SOURCES = ttyemu.c
+checkseekhole_SOURCES = checkseekhole.c
 AM_CPPFLAGS = \
  -I$(top_srcdir)/gnu\
  -I../gnu\
@@ -1436,14 +1464,18 @@ atlocal: $(top_builddir)/config.status $(srcdir)/atlocal.in
 clean-checkPROGRAMS:
        -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
 
+checkseekhole$(EXEEXT): $(checkseekhole_OBJECTS) $(checkseekhole_DEPENDENCIES) $(EXTRA_checkseekhole_DEPENDENCIES) 
+       @rm -f checkseekhole$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(checkseekhole_OBJECTS) $(checkseekhole_LDADD) $(LIBS)
+
+ckmtime$(EXEEXT): $(ckmtime_OBJECTS) $(ckmtime_DEPENDENCIES) $(EXTRA_ckmtime_DEPENDENCIES) 
+       @rm -f ckmtime$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(ckmtime_OBJECTS) $(ckmtime_LDADD) $(LIBS)
+
 genfile$(EXEEXT): $(genfile_OBJECTS) $(genfile_DEPENDENCIES) $(EXTRA_genfile_DEPENDENCIES) 
        @rm -f genfile$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(genfile_OBJECTS) $(genfile_LDADD) $(LIBS)
 
-ttyemu$(EXEEXT): $(ttyemu_OBJECTS) $(ttyemu_DEPENDENCIES) $(EXTRA_ttyemu_DEPENDENCIES) 
-       @rm -f ttyemu$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(ttyemu_OBJECTS) $(ttyemu_LDADD) $(LIBS)
-
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
 
@@ -1451,8 +1483,9 @@ distclean-compile:
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argcv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkseekhole.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ckmtime.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genfile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttyemu.Po@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1596,7 +1629,7 @@ distclean: distclean-am
        -rm -rf ./$(DEPDIR)
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
+       distclean-local distclean-tags
 
 dvi: dvi-am
 
@@ -1662,15 +1695,16 @@ uninstall-am:
 .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
        clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
        ctags ctags-am 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 tags-am uninstall uninstall-am
+       distclean-local 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 tags-am uninstall \
+       uninstall-am
 
 
 $(srcdir)/package.m4: $(top_srcdir)/configure.ac
@@ -1682,6 +1716,9 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
          echo 'm4_define([AT_PACKAGE_STRING],    [@PACKAGE_STRING@])'; \
          echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
        } >$(srcdir)/package.m4
+
+distclean-local:
+       -rm -rf download
 $(TESTSUITE): package.m4 $(TESTSUITE_AT)
        $(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
        mv $@.tmp $@
@@ -1701,7 +1738,7 @@ check-full:
 #check_SCRIPTS = tar
 
 # Run the test suite on the *installed* tree.
-installcheck-local:
+installcheck-local: $(check_PROGRAMS)
        $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) AUTOTEST_PATH=$(exec_prefix)/bin
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 051d8091ed2b72dab47dca7647f22d3712c5244b..4d798d1b4e13b68f7b7027cbe67f069ce18119a4 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/T-dir00.at b/tests/T-dir00.at
new file mode 100644 (file)
index 0000000..872861a
--- /dev/null
@@ -0,0 +1,46 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2014, 2016 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 <http://www.gnu.org/licenses/>.
+
+# Tar 1.27 and 1.28 did not extract files under directory members listed
+# in the file read by --file-from.
+#
+# Reported-by: Jean-Louis Martineau <martineau@zmanda.com>
+# References: <541AE02C.2050008@zmanda.com>,
+#             http://lists.gnu.org/archive/html/bug-tar/2014-09/msg00006.html
+
+AT_SETUP([recursive extraction from --files-from])
+AT_KEYWORDS([files-from extract T-dir T-dir00])
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | sort
+],
+[0],
+[dir/
+dir/file1
+dir/file2
+])
+AT_CLEANUP
+
diff --git a/tests/T-dir01.at b/tests/T-dir01.at
new file mode 100644 (file)
index 0000000..0629080
--- /dev/null
@@ -0,0 +1,46 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2014, 2016 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 <http://www.gnu.org/licenses/>.
+
+# Tar 1.27 and 1.28 did not remove trailing slashes from file names
+# obtained with the --file-from option.
+#
+# Reported-by: Jean-Louis Martineau <martineau@zmanda.com>
+# References: <541AE02C.2050008@zmanda.com>,
+#             http://lists.gnu.org/archive/html/bug-tar/2014-09/msg00006.html
+
+AT_SETUP([trailing slash in --files-from])
+AT_KEYWORDS([files-from extract T-dir T-dir01])
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | sort
+],
+[0],
+[dir/
+dir/file1
+dir/file2
+])
+AT_CLEANUP
+
index 2cc943557a8ad586a4a3b96ac02cdf3cbe797859..b5cbb90e1b18fe682164232d7287f6539e162d07 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 70b7deb84d44f3d97c64eb80918e20d9d4fedc1e..d3e367daf2f0b3d20b93b0f7c08046f8ce413a7d 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
index 3da2ec72732bb74a4f7f5b0d5ad22cfb9c7e9636..88bd8d29f9649c10fd735ae59bdf50d8ae9b695e 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
index 390c62fb1872c9d1978823b4275fdf5f113c07fe..d6258d3693697f8f34023c1344acf4f844a6802d 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
index 795f64dd55174c49fe3eab6ee0832b5fe8a64e61..2c15afe2ccd412809cb0d4dba7e12c375037f0bf 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/T-null2.at b/tests/T-null2.at
new file mode 100644 (file)
index 0000000..e9f1d8a
--- /dev/null
@@ -0,0 +1,43 @@
+# This file is part of test suite for GNU tar. -*- Autotest -*-
+# Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.
+
+AT_SETUP([--null enables verbatim reading])
+AT_KEYWORDS([files-from null T-null2 T-verbatim])
+
+# According to the docs, --null should read each line from the file
+# list verbatim.  This feature was broken by commit 26538c9b (tar version
+# 1.27).
+
+AT_TAR_CHECK([
+AT_DATA([file-list],[a
+-b
+--c d
+])
+
+genfile -f a
+genfile -f -b
+genfile -f '--c d'
+
+cat file-list | tr '\n' '\0' | tar -c -f archive -v --null -T -
+],
+[0],
+[a
+-b
+--c d
+],
+[],[],[],[ustar]) # Testing one format is enough
+
+AT_CLEANUP
index 9a85f17b11818278c74c16fb48b4d570a4f5fee8..5b60c4663c7977e261e0a23dabcf9e6c0534b8ed 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/T-recurse.at b/tests/T-recurse.at
new file mode 100644 (file)
index 0000000..4c88024
--- /dev/null
@@ -0,0 +1,90 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.
+
+# Description: Test interaction of --recursion and --no-recursion options
+# together with --files-from option.  This is complementary to recurs02.at test
+# case. References:
+# <alpine.LSU.2.11.1502201029580.29773@nerf60.vanv.qr>
+# http://lists.gnu.org/archive/html/bug-tar/2015-06/msg00006.html
+
+AT_SETUP([files-from & recurse: toggle])
+AT_KEYWORDS([recurse T-recurse files-from])
+
+AT_TAR_CHECK([
+mkdir directory1 directory2
+touch directory1/file directory2/file
+
+AT_DATA([F1],[--no-recursion
+directory1/
+--recursion
+directory2/
+])
+
+AT_DATA([F2A],[directory1/
+])
+
+AT_DATA([F2B],[directory2/
+])
+
+a=archive
+tar cf "$a" --files-from F1
+tar tf "$a"
+
+a=archive2
+tar cf "$a" --no-recursion -T F2A --recursion -T F2B
+tar tf "$a"
+],
+[0],
+[directory1/
+directory2/
+directory2/file
+directory1/
+directory2/
+directory2/file
+])
+
+AT_CLEANUP
+
+
+AT_SETUP([toggle --recursion (not) from -T])
+AT_KEYWORDS([recurse T-recurse T-recurse2 files-from])
+
+AT_TAR_CHECK([
+mkdir directory1 directory2
+touch directory1/file directory2/file
+
+AT_DATA([F1],[--no-recursion
+directory1/
+])
+
+AT_DATA([F2],[directory2/
+])
+
+tar cf archive -T F1 --recursion -T F2
+tar tf archive
+
+],
+[0],
+[directory1/
+directory2/
+directory2/file
+])
+
+AT_CLEANUP
index 05c93e6ec035af49fbfe0ec3d13506ac656ef970..931d69bf49403e66c06f71895a78c213ed1fe8ab 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
index a866b86494613e522651a265f9145c20721ff2d9..68e979a4ba748c22458888b015c3bc5346e69ba3 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 95f4429ab37f9ef675fcb7b871ed3fb5aee9cb13..21f1894f484cf075d105ed1aa2b7264185b80425 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 83c5bdcf39fd099a46eef8a0f81266077f909002..19b80733a2bcae1cb42a81c1cb0efbc2b5b96fd5 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013, 2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 10d06d7d987642abbf6632aa8439faa4848f58e2..6fa587e3c13fb3e93e45d04f060daf70e05b3da0 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
@@ -26,7 +27,7 @@ AT_TAR_CHECK([touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive],
-          [0],
+           [0],
 [file1
 file2
 ])
index c89979057e69a2b674872520e4caa52a430daa88..f847c6118c5750cc164f2d0358eb8ccc63841542 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 80309676ad6fe65cdef66243f2fbf293964dfd4f..3ca4d4c0c978d63eaa6dcfa9c8f018043780edd1 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 8d0dc785a6718a2f5a692793353a991125d4e990..c746301ebc58c4fb172738b5f18eab46765af5b2 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 67a5af8737c5500416916863fdf131428f736359..a543d0d2d1614d9140c6521f391a3cf5cce8170c 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/append05.at b/tests/append05.at
new file mode 100644 (file)
index 0000000..865831a
--- /dev/null
@@ -0,0 +1,96 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2016 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 <http://www.gnu.org/licenses/>.
+
+# Adding files to an archive with a blocking factor different from the one
+# used when creating it would produce a malformed archive.
+#
+# Last-Affected-Version: 1.28.90 (da7845c6563e7337bf3e8364046a7989091f190e)
+# Reported-by: Initial report by Renate Pyhel <rpyhel@google.com>.  Explained
+#   in detail by Tim Kientzle.  This test case is based on his posting.
+# References: <CALyyU7QJRQEQWMqZ=J=ppu-nwOH6R58Ci2ZkV32+CeZKsWsz7Q@mail.gmail.com>,
+#   <50202013-27F2-4EFF-98C8-2DD112C5B956@kientzle.com>,
+#   http://lists.gnu.org/archive/html/bug-tar/2016-03/msg00002.html,
+#   http://lists.gnu.org/archive/html/bug-tar/2016-03/msg00004.html
+
+AT_SETUP([append after changed blocking])
+AT_KEYWORDS([append append05 blocking])
+
+AT_TAR_CHECK([
+for f in a b c d e f g h i
+do
+  echo $f > $f
+done
+
+decho 'creating archive'
+tar -cf archive -b1 a b c
+
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
+echo ==
+tar tf archive
+
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
+
+decho 'resulting archive'
+tar tf archive
+],
+[0],
+[creating archive
+a
+b
+c
+adding d e f
+d
+e
+f
+==
+a
+b
+c
+d
+e
+f
+adding g h i
+g
+h
+i
+resulting archive
+a
+b
+c
+d
+e
+f
+g
+h
+i
+],
+[creating archive
+adding d e f
+adding g h i
+resulting archive
+])
+
+AT_CLEANUP
+
+
index 5fbe6a594abd150bedace1854392d474a306fe0f..21c6ef780e901b4c2cf7ee6600f889ed28c3df91 100644 (file)
@@ -1,6 +1,6 @@
 # @configure_input@                                     -*- shell-script -*-
 # Configurable variable values for tar test suite.
-# Copyright 2004, 2006, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -25,22 +25,27 @@ trap "test -r $XFAILFILE && cat $XFAILFILE; exit $?" 1 2 13 15
 
 TEST_DATA_URL=ftp://download.gnu.org.ua/pub/tests/tar
 if test -z "$TEST_DATA_DIR"; then
-  TEST_DATA_DIR=$abs_builddir
+  TEST_DATA_DIR=$abs_builddir/download
 fi
 
-STAR_DATA_URL=ftp://ftp.berlios.de/pub/star/testscripts
+STAR_DATA_URL=$TEST_DATA_URL/star
 if test -z "$STAR_TESTSCRIPTS"; then
   STAR_TESTSCRIPTS=$TEST_DATA_DIR
 fi
 
 # tarball_prereq file sum dir url
 tarball_prereq() {
-  if test -d "$3"; then
-    if test -r $3/$1; then
-      :
-    elif test -n "$FULL_TEST"; then
-      wget -q --directory-prefix=$3 $4/$1
-    fi
+  if ! test -d "$3"; then
+    mkdir "$3"
+    cat > "$3/README" <<EOF
+This directory contains test data downloaded during full check.
+You can remove it, if you wish.
+EOF
+  fi
+  if test -r $3/$1; then
+    :
+  elif test -n "$FULL_TEST"; then
+    wget -q -O $3/$1 $4/$1
   fi
   echo "$2  $3/$1" | md5sum --status --check - >/dev/null 2>&1
 }
@@ -56,4 +61,4 @@ mkexcltest() {
   genfile --file=$1/subdir/excludeme
   genfile --file=$1/subdir/subdir-file
 }
-  
\ No newline at end of file
+  
index 1aa33db34788fa5b33c1e19aea40aaa93cc659fe..09051c625641f96850f6ab36b2dfd7793a4dc3f9 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009-2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009-2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 82c842a51529c152f34911e4b5c80ae2e64ecfa7..a498dd5f416de5cb102501ec54aa8223d8277396 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/checkseekhole.c b/tests/checkseekhole.c
new file mode 100644 (file)
index 0000000..c7d6204
--- /dev/null
@@ -0,0 +1,92 @@
+/* Test suite for GNU tar - SEEK_HOLE detector.
+
+   Copyright 2015-2016 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 3, or (at your option) any later
+   version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+   Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Description:  detect whether it is possible to work with SEEK_HOLE on
+   particular operating system and file system. */
+
+#include "config.h"
+
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+
+enum {
+    EX_OK = 0,    /* SEEK_HOLE support */
+    EX_FAIL,      /* test failed - no SEEK_HOLE support */
+    EX_BAD,       /* test is not relevant */
+};
+
+int
+check_seek_hole (int fd)
+{
+#ifdef SEEK_HOLE
+  struct stat stat;
+  off_t offset;
+
+  /* hole of 100MB */
+  if (lseek (fd, 100*1024*1024, SEEK_END) < 0)
+    return EX_BAD;
+
+  /* piece of data */
+  if (write (fd, "data\n", 5) != 5)
+    return EX_BAD;
+
+  /* another hole */
+  if (lseek (fd, 100*1024*1024, SEEK_END) < 0)
+    return EX_BAD;
+
+  /* piece of data */
+  if (write (fd, "data\n", 5) != 5)
+    return EX_BAD;
+
+  if (fstat (fd, &stat))
+    return EX_BAD;
+
+  offset = lseek (fd, 0, SEEK_DATA);
+  if (offset == (off_t)-1)
+    return EX_FAIL;
+
+  offset = lseek (fd, offset, SEEK_HOLE);
+  if (offset == (off_t)-1 || offset == stat.st_size)
+    return EX_FAIL;
+
+  return EX_OK;
+#else
+  return EX_BAD;
+#endif
+}
+
+int
+main ()
+{
+#ifdef SEEK_HOLE
+  int rc;
+  char template[] = "testseekhole-XXXXXX";
+  int fd = mkstemp (template);
+  if (fd == -1)
+    return EX_BAD;
+  rc = check_seek_hole (fd);
+  close (fd);
+  unlink (template);
+
+  return rc;
+#else
+  return EX_FAIL;
+#endif
+}
index 34839983fde3cb853bcba16b15ef4d85995d0e4d..eda52ea7d9f20be6d6a0e37d65dacfe4b261d852 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/ckmtime.c b/tests/ckmtime.c
new file mode 100644 (file)
index 0000000..9fde42d
--- /dev/null
@@ -0,0 +1,69 @@
+/* Check if filesystem timestamps are consistent with the system time.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+      
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 3, or (at your option) any later
+   version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+   Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include <config.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <unistd.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stat-time.h>
+#include <timespec.h>
+
+#define TEMPLATE "ckmtime.XXXXXX"
+#define BILLION 1000000000
+
+/* Some filesystems can slightly offset the timestamps of newly created files.
+   To compensate for it, tar testsuite waits at least 1 second before creating
+   next level of incremental backups.
+
+   However, NFS mounts can offset the timestamps by bigger amounts.  
+   
+   This program returns with success (0) if a newly created file is assigned
+   mtime matching the system time to the nearest second.
+*/
+int
+main (int argc, char **argv)
+{
+  int fd;
+  char name[sizeof(TEMPLATE)];
+  struct stat st;
+  struct timespec ts, td;
+  double diff;
+  
+  gettime (&ts);
+  
+  strcpy (name, TEMPLATE);
+  umask (077);
+  fd = mkstemp (name);
+  assert (fd != -1);
+  unlink (name);
+  assert (fstat (fd, &st) == 0);
+  close (fd);
+
+  td = timespec_sub (get_stat_mtime (&st), ts);
+  diff = td.tv_sec * BILLION + td.tv_nsec;
+  if (diff < 0)
+    diff = - diff;
+  if (diff / BILLION >= 1)
+    {
+      fprintf (stderr, "file timestamp unreliable\n");
+      return 1;
+    }
+  return 0;
+}
diff --git a/tests/comperr.at b/tests/comperr.at
new file mode 100644 (file)
index 0000000..65576e7
--- /dev/null
@@ -0,0 +1,39 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+# Test suite for GNU tar.
+# Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.
+
+AT_SETUP([compressor program failure])
+AT_KEYWORDS([compress comperr])
+
+# Description: If the --use-compress-program fails, then it is unsafe
+# to assume that the created archive is OK.  Tar should fail with a
+# prominent error message.
+# Reported by: Ole Tange <tange@gnu.org>
+# References: <CA+4vN7wLZ-+LK1t7WMkM_b9f3mV9JTnSuPamPn2ciX5PTN=9Xw@mail.gmail.com>,
+#        http://lists.gnu.org/archive/html/bug-tar/2015-03/msg00002.html
+
+AT_TAR_CHECK([
+tar --use-compress-program false -cf a.tar . 2>err
+rc=$?
+sed -n '$p' err
+exit $rc
+],
+[2],
+[tar: Error is not recoverable: exiting now
+])
+
+AT_CLEANUP
+
index c1def2fd96f70f3d69b22c7e98eda691b0633eda..0cb4175e5be0057a05717f373f85165c60e7ac64 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 37acec0cbac47f93d04babc3edf1bf2d9f50c565..8b5263ef02b980612ba7ecb54931d75d0382e303 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 7bcf8ce548100f346748a065c574e6277a49eb07..637a316b693b7ba6e06953c4407a262c69190cea 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2005, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004-2005, 2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index b2853825fe466c6a343da95583f06cb348e823ca..f33eebaf30e064c1e327381c272fa53310f2826c 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index e3efb9a23ebf925c9e8f5e6a2945447bedc0a2ae..177888acfeb9b44700261570336bef282987506a 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 811b9bcab196fd6368a1f333f90c4ec64685e203..56a483b2cd620285728939fc805d7190d4c3e3a7 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index dbd9245d35d56cab2e6ff2d91e148acfdcb4af51..a29cdd1279c6c77c029cdb4f77cf813a0e668069 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 27dd9fea9f62cc1ce5be59a41405272a094f41b9..c3cd10b7f55b302a80c8725cfa45cfb4b3966b45 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index a07422178f1f8cb5fea39a2f92c9e495d499e9d3..84f83d5cfebeb4a8be0483681d0db313edabfc47 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index c2472596fd393f8ad0d6c68de3f68b9ab7338ded..d55d3cc18ce9df7233ab80a5132376e5ba4d24b6 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 00764262c9601b73cc935b3c48a7433088141235..17c759d531873dfffbcf476addfd04b4118bce46 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 08d0c7b48e480382f193c4e9a786eebaeeb915de..1b6f66f92e8599bd546929d0b467cd04022909a2 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009-2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009-2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index ffea051121458e54e48bb4e52c34a2a0919cc5ec..ebadebe4fb7ed6ba68c0091c7e09d11f2c795249 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index c3a2c504b45cf7708458b4843f61fc25874a55f5..cb99d332761da5cb87cdf8d4da50fd9a88793cb3 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index d35a0b585ccb8437894f5468969e8259036333ec..e9595dd1e18b4f17b76010deeaa7c55f335e238a 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 092d85e99612307edfeed62ac23705d4dff07796..4a0fe7a5406461855971897759109dca29d17e1a 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 371b866d7f58d556e73278d0e2aed685b4ead2c7..2b7ac321d750f5eef2110d760956730b9a2519e7 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 17144d3346b89ed102400355c72cdeeaa5b4d1fb..258a3d3343cd871adfb00a3ce8747668b715b9e0 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index e9dc0a4baf5e4dfcfd6d861913ece93e37af541b..f61d2119c7ecdd6879d4cdd6877a3b7a675c7317 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 1946e4e03af1169478eae40400032e89b34e4e11..0bca131d994f40dd274ee41d5c8def2cdb727e7c 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 53e49f534af4956ccc6e47a5c9281326b65b32c4..8ac5358c1ef8662ce731da5778f91a60f4e44c08 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index d751c9711dd015cf32ead9d9a3dfdd5a5c3525b8..a53d38c2a7868e828a181dcf75168da1f3ae4f67 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index e009892493dae0de12351dff7266706f45744974..9cc2f9a47147c90c454c6f14609190fca40764ee 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 970560fe61b167d58ad94e9a940f890f962ca19c..224759842ae4cd89aeb8938c2551128d6b08d931 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 722f95a7760e442c9bc394a9fd2a7fa7f76c0d21..4e1131f4b6183eb5a9b023c7ffad327630314569 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 98e8c59eee53b916825083c2d4f0f54fa8d6b78b..11d377add629c81aa22d0c7a102a987244fc2f33 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index cd9e1142d19248c727dc679338824ec58ae1699a..21a1df2cc61e0ed2b3c5971b5847ea01e207fe04 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 432d7962035928eba0dae2b4a5597868a97f59f0..380c9da99a64054deaf6cfd3e8b11ab4a3f18a65 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index b3afb48673aa23f5b7a056e435c7170a068fcda1..68c460f028f700f600e97cf0b635c6d86c315559 100644 (file)
@@ -2,7 +2,7 @@
 
 # Test suite for GNU tar.
 
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 56476dd6d1879b75f5ad89eb381339f1e259dd28..fbd62788ce64394bfe7603d8a0c3884894535b79 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 95db1f5ac12b90335e7428bb1fdde0b92e65f338..91454f3d922aa6f4648ea700dd30fa902a5db261 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index b7218ef8f2443b7b6fa8ea9b595382935ce2b4d0..496c5fd9b9c8d219a9e4002440b83401439e3a6b 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 3efe4acaf043918025cbdb46291a32f7b668d43e..03b4947e39e8632c9fe1d15f66d2cf181e4b1294 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 5a3f419b4cee4d86ecd2938ac92db9dcb2da1876..bcee2d09b9074a2eafb20e4148895b8804ec31f9 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 0a3a332ff1f1496a8c707dd03519003739cb2290..0dc59296f02261183b02a54b8180b89f09755db6 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index ba5b4913c99ac39baf7c93fc9b93a6e1ee99a185..d115bedacc5b7a722de3f974306a312eced162df 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 65d1ee1ddaab78ee7e58a55127f65f1079d5af7b..20bb7fb253ac48ab8c39f6f71c85d58ff3719ece 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 6eb48b3e39b9d622d3991207bb707c0e7e93abd4..4331ad285376c3175e8c85a91a40900f2818ef83 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 49227ef144353151b5f71d2c5fcc9ba766db7802..1a1ef6bfbabfb7538b19433c787e13526a8a421d 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 4cac47e34103ab52c487ceff2dd6dfd7bfbf402a..8537952ba1bebd72628b2d5213641e8f8d448795 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index e76b6657cdf282e6904e34b36d683aa4accf8566..5b85d0bce93764f7b1c0f441fc922ecafb81813d 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 053d4eb54b4df436552ff635f114c104dbb9ea86..9d918d6b8909199340fd0882ba2bf5608e7f3c7d 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 23c6f8a13eb570bb9f6cb1b8cbabfebbcea39f6c..4b42ebdec54e0d921522ca7d70ac7f9584ea7805 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index bbf28059a66d88fa4d891a63cf03d68a80ec25cc..b6f9d75666187feed476e92aeca40223f4204d43 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index fa480ef03cce281803086c4244a76ce36c11f61e..219fb5e9ed90d702674c74cac6956dc4a0d11d0d 100644 (file)
@@ -2,7 +2,7 @@
    Print statistics for existing files.
 
    Copyright (C) 1995, 1996, 1997, 2001, 2003, 2004, 2005, 2006, 2007,
-   2008, 2009 Free Software Foundation, Inc.
+   2008, 2009, 2016 Free Software Foundation, Inc.
 
    François Pinard <pinard@iro.umontreal.ca>, 1995.
    Sergey Poznyakoff <gray@mirddin.farlep.net>, 2004, 2005, 2006, 2007, 2008.
@@ -32,6 +32,7 @@
 #include <inttostr.h>
 #include <fcntl.h>
 #include <sys/stat.h>
+#include <c-ctype.h>
 #define obstack_chunk_alloc malloc
 #define obstack_chunk_free free
 #include <obstack.h>
@@ -106,6 +107,9 @@ struct timespec touch_time;
 /* Verbose mode */
 int verbose;
 
+/* Quiet mode */
+int quiet;
+
 const char *argp_program_version = "genfile (" PACKAGE ") " VERSION;
 const char *argp_program_bug_address = "<" PACKAGE_BUGREPORT ">";
 static char doc[] = N_("genfile manipulates data files for GNU paxutils test suite.\n"
@@ -144,7 +148,8 @@ static struct argp_option options[] = {
   {"seek", OPT_SEEK, N_("OFFSET"), 0,
    N_("Seek to the given offset before writing data"),
    GRP+1 },
-
+  {"quiet", 'q', NULL, 0,
+   N_("Suppress non-fatal diagnostic messages") },
 #undef GRP
 #define GRP 10
   {NULL, 0, NULL, 0,
@@ -265,11 +270,11 @@ verify_file (char *file_name)
        error (0, errno, _("stat(%s) failed"), file_name);
 
       if (st.st_size != file_length + seek_offset)
-       error (1, 0, _("requested file length %lu, actual %lu"),
+       error (EXIT_FAILURE, 0, _("requested file length %lu, actual %lu"),
               (unsigned long)st.st_size, (unsigned long)file_length);
 
-      if (mode == mode_sparse && !ST_IS_SPARSE (st))
-       error (1, 0, _("created file is not sparse"));
+      if (!quiet && mode == mode_sparse && !ST_IS_SPARSE (st))
+       error (EXIT_FAILURE, 0, _("created file is not sparse"));
     }
 }
 
@@ -325,6 +330,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
       block_size = get_size (arg, 0);
       break;
 
+    case 'q':
+      quiet = 1;
+      break;
+      
     case 's':
       mode = mode_sparse;
       break;
@@ -506,10 +515,56 @@ mksparse (int fd, off_t displ, char *marks)
     }
 }
 
+static int
+make_fragment (int fd, char *offstr, char *mapstr)
+{
+  int i;
+  off_t displ = get_size (offstr, 1);
+
+  file_length += displ;
+
+  if (!mapstr || !*mapstr)
+    {
+      mkhole (fd, displ);
+      return 1;
+    }
+  else if (*mapstr == '=')
+    {
+      off_t n = get_size (mapstr + 1, 1);
+
+      switch (pattern)
+       {
+       case DEFAULT_PATTERN:
+         for (i = 0; i < block_size; i++)
+           buffer[i] = i & 255;
+         break;
+         
+       case ZEROS_PATTERN:
+         memset (buffer, 0, block_size);
+         break;
+       }
+
+      if (lseek (fd, displ, SEEK_CUR) == -1)
+       error (EXIT_FAILURE, errno, "lseek");
+      
+      for (; n; n--)
+       {
+         if (write (fd, buffer, block_size) != block_size)
+           error (EXIT_FAILURE, errno, "write");
+         file_length += block_size;
+       }
+    }
+  else
+    {
+      file_length += block_size * strlen (mapstr);
+      mksparse (fd, displ, mapstr);
+    }
+  return 0;
+}
+
 static void
 generate_sparse_file (int argc, char **argv)
 {
-  int i;
   int fd;
   int flags = O_CREAT | O_RDWR | O_BINARY;
 
@@ -526,20 +581,33 @@ generate_sparse_file (int argc, char **argv)
 
   file_length = 0;
 
-  for (i = 0; i < argc; i += 2)
+  while (argc)
     {
-      off_t displ = get_size (argv[i], 1);
-      file_length += displ;
-
-      if (i == argc-1)
+      if (argv[0][0] == '-' && argv[0][1] == 0)
        {
-         mkhole (fd, displ);
-         break;
+         char buf[256];
+         while (fgets (buf, sizeof (buf), stdin))
+           {
+             size_t n = strlen (buf);
+
+             while (n > 0 && c_isspace (buf[n-1]))
+               buf[--n] = 0;
+             
+             n = strcspn (buf, " \t");
+             buf[n++] = 0;
+             while (buf[n] && c_isblank (buf[n]))
+               ++n;
+             make_fragment (fd, buf, buf + n);
+           }
+         ++argv;
+         --argc;
        }
       else
        {
-         file_length += block_size * strlen (argv[i+1]);
-         mksparse (fd, displ, argv[i+1]);
+         if (make_fragment (fd, argv[0], argv[1]))
+           break;
+         argc -= 2;
+         argv += 2;
        }
     }
 
index 5ebf2c61e022985f6aacc9974517ea040d456531..4bd1c0ee6ae4bb71d0e9d4d1659379e1cfc25b9e 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index f5c588f63b48cf73ae8b434093e635573c2e2408..81cfb060bec706fa0a0da6e1b0772320b70ec603 100644 (file)
@@ -1,8 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2009-2010, 2013-2014 Free Software Foundation,
-# Inc.
+# Copyright 2004, 2007, 2009-2010, 2013-2014, 2016 Free Software
+# Foundation, Inc.
 
 # This file is part of GNU tar.
 
index fec64d96f81cc6d3bfb4df091bbb340cf1b35803..4eef98586568ba2072d376766682ed9a160825f9 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 40892f9fe9b5a5c950e2ee711f1d44cc9674672a..1af6ec601305d08697d9314e7883eef185e4e4d1 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -28,6 +28,8 @@ AT_SETUP([restore broken symlinks from incremental])
 AT_KEYWORDS([incremental incr01])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
+
 mkdir directory
 $as_ln_s foo directory/bar
 
index 3b413e987ee9890550a8a2ce9eae37522d07b912..7396f6cad6c045f30d55eace75644eba52605a53 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -33,6 +33,7 @@ AT_SETUP([restoring timestamps from incremental])
 AT_KEYWORDS([incremental timestamp restore incr02])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 # Create directory structure
 mkdir dir
 mkdir dir/subdir1
index 59c5332daf7d84706cc02190d4103c23e680a263..d6301a7c17066f5c3c41cb513f547cd18c02b617 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
@@ -29,6 +30,7 @@ AT_SETUP([renamed files in incrementals])
 AT_KEYWORDS([incremental incr03 rename])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 AT_SORT_PREREQ
 mkdir directory
 genfile --file=directory/x
index 2d29f874f461acd73b17011cbed36a608b9e49b8..0d1305d0e9ede00e8fa987d6d5984b5447801bce 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
@@ -32,6 +33,7 @@ AT_KEYWORDS([incremental incr04 icontents])
 m4_pushdef([NAME_PREFIX],[a/b/one_31_chars_long_file_name_])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 AT_TAR_MKHIER(a/b)
 awk 'BEGIN {
   for (i=1;i<=142;i++)
index 853724379b098657d3a78e8775865c4bb664daff..fbb4ac4c3b003f7caa784e2944c75bc4730dab8c 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -22,6 +22,7 @@ AT_SETUP([incremental dumps with -C])
 AT_KEYWORDS([incremental incr05])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 mkdir dir
 mkdir dir/sub
 genfile --file dir/file1
index 931ec52908f242e04bea9dc794f558de8f62a10e..2509461f064a5f96572ed78b9251c587e06d0c86 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -22,6 +22,7 @@ AT_SETUP([incremental dumps of nested directories])
 AT_KEYWORDS([incremental incr06])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 mkdir dir
 mkdir dir/sub
 mkdir dir/sub/a
index cbd4a3da616325e842808121d33153e3c115d917..a5b886730e2fce4f2a8bdb168fe19735bdd4da99 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 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
@@ -38,6 +38,7 @@ AT_KEYWORDS([incremental extract incr07])
 #             http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00044.html
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 mkdir dirA
 echo 'a' > dirA/a
 echo 'a' > dirA/b
index b67fe1d332b3cb5ada9444341792e12d548fbb42..e74be3d54cb8fbe09822876b01b28ad4ce9195fe 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
@@ -39,6 +39,7 @@ AT_SETUP([filename normalization])
 AT_KEYWORDS([incremental create incr08])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 AT_SORT_PREREQ
 mkdir tartest
 cd tartest
index efe65383be6f92e16709ae2672bab12b79be7d36..983bdc2475abd7ff8228ff9ed930d8803be6adca 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
@@ -27,6 +27,7 @@ AT_SETUP([incremental with alternating -C])
 AT_KEYWORDS([incremental create incr09])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 AT_SORT_PREREQ
 mkdir foo bar middle
 echo foo/foo_file > foo/foo_file
diff --git a/tests/incr10.at b/tests/incr10.at
new file mode 100644 (file)
index 0000000..cc77d49
--- /dev/null
@@ -0,0 +1,65 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+# Test suite for GNU tar.
+# Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.
+
+AT_SETUP([concatenated incremental archives (deletes)])
+AT_KEYWORDS([incremental concat cat incr10])
+
+# Description: Extraction from concatenated incremental archives
+# produced spurious error messages when trying to set file ownership
+# and permissions on deleted directories.
+# Reported by: Alex Efros <powerman@powerman.name>
+# References: <20150411224008.GO24600@home.power>
+#             http://lists.gnu.org/archive/html/bug-tar/2015-04/msg00003.html
+
+AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
+mkdir in
+mkdir in/dir
+decho Level 0
+tar -cvf 1.tar -g snap -C in .
+rmdir in/dir 
+decho Level 1
+tar -cvf 2.tar -g snap -C in .
+cp 1.tar full.tar 
+decho Concat
+tar -A 2.tar -f full.tar -g /dev/null
+decho Extract
+mkdir out
+tar -xvf full.tar -g /dev/null -C out
+],
+[0],
+[Level 0
+./
+./dir/
+Level 1
+./
+Concat
+Extract
+./
+./dir/
+./
+tar: Deleting './dir'
+],
+[Level 0
+tar: .: Directory is new
+tar: ./dir: Directory is new
+Level 1
+Concat
+Extract
+],[],[],[gnu])
+
+AT_CLEANUP
diff --git a/tests/incr11.at b/tests/incr11.at
new file mode 100644 (file)
index 0000000..061a8db
--- /dev/null
@@ -0,0 +1,76 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+# Test suite for GNU tar.
+# Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.
+
+# Description: Extraction from concatenated incremental archives
+# produced spurious error messages when trying to set file ownership
+# and permissions on renamed directories
+# Reported by: Alex Efros <powerman@powerman.name>
+# References: <20151129094003.GD18347@home.power>
+#             http://lists.gnu.org/archive/html/bug-tar/2015-11/msg00033.html
+
+AT_SETUP([concatenated incremental archives (renames)])
+AT_KEYWORDS([incremental concat cat incr11])
+
+AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
+AT_SORT_PREREQ
+AT_TAR_MKHIER([data/dir],[file])
+decho Level 0
+tar -cvf full.tar -g snap -C data .
+decho Level 1
+mv data/dir data/dir2
+tar -cvf incr.tar -g snap -C data .
+decho Concat
+cp full.tar full2.tar
+tar -A -f full2.tar incr.tar
+decho Extract
+mkdir out
+tar -xvf full2.tar -g /dev/null -C out
+decho List
+find out | sort
+],
+[0],
+[Level 0
+./
+./dir/
+./dir/file
+Level 1
+./
+./dir2/
+Concat
+Extract
+./
+./dir/
+./dir/file
+./
+./dir2/
+List
+out
+out/dir2
+out/dir2/file
+],
+[Level 0
+tar: .: Directory is new
+tar: ./dir: Directory is new
+Level 1
+tar: ./dir2: Directory has been renamed from './dir'
+Concat
+Extract
+List
+],[],[],[gnu])
+
+AT_CLEANUP
index 60c82ba122b2b168b4d1761c1b7c329806da3255..0b8a977905b111da6406efd5b0833868ab35393b 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -24,6 +24,8 @@ AT_SETUP([incremental])
 AT_KEYWORDS([incremental listed incr00])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
+
 mkdir structure
 echo x >structure/file
 
index df3e83074ac1fedd94112c31cedad624b28c3876..15083b622276faa6dc70c7077eca4a0da160025f 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 8b6f393269c0505c3f22a183912408e455d9dd9e..a601ab4c284c1dcb20ab31999d3f164aba28f998 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 524686c7e17a07737bb0f942b113a81338b5f12b..af47da1f474f16d243dd6b1bca6fc5df46b089a2 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 3c7d15492f0e39e825d08340bc30b7e756e88f7f..5e44288f7ca02622eeb5fd3277cfca022f69d725 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 677614fe7fd507037d8ae65e1822756312940263..aa71f540f1f543546f81ea07da2b19ba83d322b2 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index f8a9b6d6d49deba9f85a85af7a49561a8e62d556..5cc236830179aefced6968013f137f6b3cd33bbb 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index b11ed32e4a1cfc295bc8aa25740906a497df4c99..b00047e637431245c07ca1c5c42c16b692595d73 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 8be2fa8f1d7432d43e21b54e97cfbf90f74b53eb..f69f28cfdeb566902cd6064d6db2e3d9410020d3 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index ca85201b3695fa134ad26644534b5b84cf344f43..c21e5c92d8ae71e703ecd982e6e11d7ce4f42a67 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 03697bd6d33d8b47de865d4f4728e3a0be6699fb..46d1b12757fa6987a5e5514e3effae3109ccb625 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -39,6 +39,10 @@ tar tvf archive | sed '
   s,.*[[0-9]] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -55,6 +59,7 @@ dir/file
 dir/file link to dir/file
 dir/symlink -> file
 dir/symlink link to dir/symlink
+--
 ==
 dir/
 dir/FOO
index eff2bdc5cc98c60f31197bd7c440dde360955a54..fc0a356e3dea688371ea96430b60be05df5f7782 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
@@ -27,6 +28,8 @@ AT_SETUP([--listed for individual files])
 AT_KEYWORDS([listed incremental listed01])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
+
 mkdir directory
 genfile --length 10240 --pattern zeros --file directory/file1
 # Let the things settle
index 2fb77fd33b5f670efbda10906bc334446720aa61..153644ba574d49d66f84ab9361341b863cd686fe 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
@@ -29,6 +30,7 @@ AT_SETUP([working --listed])
 AT_KEYWORDS([listed incremental listed02])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 AT_SORT_PREREQ
 echo Create directories
 
index c2cf52f72e50887e1b8cc179ebcd87ecf26794c2..07bd1c8e9854d12a5293aac3b2ee73a007c34e41 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -25,6 +25,7 @@ AT_SETUP([incremental dump when the parent directory is unreadable])
 AT_KEYWORDS([listed incremental listed03])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 AT_UNPRIVILEGED_PREREQ
 
 mkdir dir
@@ -34,9 +35,13 @@ genfile --file dir/sub/a/file
 cd dir/sub
 
 chmod a-r ..
-tar -c -f archive.tar --listed-incremental=db.1 -v a
+tar -c -f archive.tar --listed-incremental=db.1 -v a 2>err
 status=$?
 chmod a+r ..
+if test $status -eq 2; then
+  grep '^tar: \.: Cannot getcwd' err >/dev/null 2>&1 && AT_SKIP_TEST
+fi
+cat err >&2
 exit $status
 ],
 [0],
index a5513aaf264df259977691c66924ca92dff31a42..ea8450f344341065dd5f7d10f81567d6f13852a6 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -27,7 +27,7 @@ AT_SETUP([--listed-incremental and --one-file-system])
 AT_KEYWORDS([listed incremental listed04])
 
 AT_TAR_CHECK([
-
+AT_CHECK_TIMESTAMP
 mkdir dir
 echo a >dir/a
 echo b >dir/b
index 42f3c63c68d0858a116c7bcf4ab65665276ec037..13ac42acefa963476430bac5cf0a81d60a4e5dfa 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -34,6 +34,7 @@ AT_SETUP([--listed-incremental and remounted directories])
 AT_KEYWORDS([listed incremental listed05])
 
 AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
 AT_PRIVILEGED_PREREQ
 options="-C tartest --create --one-file-system --verbose"
 rm -rf archive-[01].snar archive-[01].tar tartest subdir
index 42d65b7eb6c48847aa450478a055e4150e412e78..d823d816d6b7e272f9711d55f907e98c7aaa3e16 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 603a7ecab16a8e18482605746c11733c2d08cad5..885085cc2f0a1b388ba0dfaa4b048e4eae8bf552 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 3c0d2194c961e3297189731a54cb7ce41490f2ac..dcf5e310debbae81104436ec103fb747c219d24d 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index cf2660b14490b8b32496e014d947b88e2f14112f..23c7c9739cce01b62bf3d97d7dab112721fb87cf 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 913ae11dcc47eb2f95d9f493276317752c61de3e..3ab2307ae5c547846e05251bbc662017b7f58465 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/map.at b/tests/map.at
new file mode 100644 (file)
index 0000000..4060bab
--- /dev/null
@@ -0,0 +1,71 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2015-2016 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check the --owner-map and --group-map options.
+
+AT_SETUP([--owner-map and --group-map])
+AT_KEYWORDS([owner map])
+
+AT_TAR_CHECK([
+export TZ=UTC0
+
+genfile --file a
+set -- `genfile --stat=uid,gid a`
+cat > uid.map <<EOT
+# Owner mapping
++$1    "Joe the Plumber:1234"
+EOT
+# Group mapping
+cat > gid.map <<EOT
++$2    "Plumber's Union:5678"
+EOT
+
+tar --owner-map=uid.map\
+    --group-map=gid.map\
+    --owner="Fallback Owner:4321" \
+    --group="Fallback Group:8765" \
+    --mtime='@0' \
+    --mode='u=rw,go=r' \
+    -cf 1.tar a
+
+tar -tvf 1.tar
+tar --numeric-owner -tvf 1.tar
+    
+> uid.map
+> gid.map
+
+tar --owner-map=uid.map\
+    --group-map=gid.map\
+    --owner="Fallback Owner:4321" \
+    --group="Fallback Group:8765" \
+    --mtime='@0' \
+    --mode='u=rw,go=r' \
+    -cf 2.tar a
+
+tar -tvf 2.tar
+tar --numeric-owner -tvf 2.tar
+],
+[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
+-rw-r--r-- Fallback Owner/Fallback Group 0 1970-01-01 00:00 a
+-rw-r--r-- 4321/8765         0 1970-01-01 00:00 a
+],
+[],[],[],[gnu])
+
+AT_CLEANUP
index a5dedf6052bfc5367923ac60437ee79e8323aeb2..c7a1f092cc9c9de0a5f1bde910a7ff1f344005d3 100644 (file)
@@ -1,8 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2009, 2013-2014 Free Software Foundation,
-# Inc.
+# Copyright 2004, 2006-2007, 2009, 2013-2014, 2016 Free Software
+# Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 010b72d5746758bab2d532eb5e1a7738ed741bee..5e814276e4df9efbce0b9b1be4f6387c0ce52e46 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index b552c4e17f880ed4044307cfcb564d1c41cf0e95..56937c1044f32f6f6617803f289b9a349bf835b5 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 7d2c1fe53e73337e81b41dcf952aa454cff7d12a..9c99c9ea13d4761075661cec80296f59e0f6fa25 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 862ec0ec1f9b001f9e39c13ccedf18c3f8021f21..0b12bf97c3d07104328af1d222e8f5e8ac58286d 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2008, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2008, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 739c87e8bedad3182266b105b74c5a88098b2c17..ebdfd505541bb05ca0a1ce92fbc6c2135df1dc68 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2008, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2008, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 9ea9ea8c3e30032d91ec97380aac169dc2ed2e3c..a82e27123b397ed2ca5352df0607bc45dbc8461b 100644 (file)
@@ -1,5 +1,5 @@
 # Test suite for GNU tar.                             -*- Autotest -*-
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index f8cadea2bf7d0f23923892769d5bde48894340bd..8b5bd23168f7eb68af0dbeab9f64a93b2b0ae531 100644 (file)
@@ -1,5 +1,5 @@
 # Test suite for GNU tar.                             -*- Autotest -*-
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv09.at b/tests/multiv09.at
new file mode 100644 (file)
index 0000000..e6a05b7
--- /dev/null
@@ -0,0 +1,48 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+# Test suite for GNU tar.
+# Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.
+
+# Description: Tar <=1.28 would segfault extracting from a multi-volume
+# archive containging filenames >= 100 characters if the subsequent volume
+# was not set properly.
+# Reported by: Pavel Raiskup <praiskup@redhat.com>
+# References: https://bugzilla.redhat.com/show_bug.cgi?id=866071,
+#    <1351863945-31192-3-git-send-email-praiskup@redhat.com>,
+#    http://lists.gnu.org/archive/html/bug-tar/2012-11/msg00009.html
+
+AT_SETUP([bad next volume])
+AT_KEYWORDS([multivolume multiv multiv09])
+
+# filename of length 100 characters
+m4_pushdef([FILENAME],[dnl
+m4_for([N],1,100,,[a])])
+
+AT_TAR_CHECK([
+genfile --length 2000000 --file FILENAME
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar FILENAME || exit $?
+echo "created"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+],
+[2],
+[created
+])
+
+AT_CLEANUP
+
+m4_popdef([FILENAME])
diff --git a/tests/numeric.at b/tests/numeric.at
new file mode 100644 (file)
index 0000000..2fcd7ea
--- /dev/null
@@ -0,0 +1,74 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+# Test suite for GNU tar.
+# Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.
+
+AT_SETUP([--numeric-owner basic tests])
+AT_KEYWORDS([options numeric numeric-owner])
+
+m4_pushdef([TESTOP],[
+decho $1
+tar $1 -vvf a dir --numeric-owner |dnl
+ awk '@S|@2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar $1 -vvf a dir |dnl
+ awk '@S|@2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+])
+
+AT_TAR_CHECK([
+mkdir dir
+genfile --file dir/file
+
+MYUID=$(id -u) || AT_SKIP_TEST
+MYGID=$(id -g) || AT_SKIP_TEST
+MYUSR=$(id -un) || AT_SKIP_TEST
+MYGRP=$(id -gn) || AT_SKIP_TEST
+
+TESTOP([--create])
+TESTOP([--list])
+TESTOP([--diff])
+TESTOP([--extract])
+],
+[0],
+[--create
+OK
+OK
+OK
+OK
+--list
+OK
+OK
+OK
+OK
+--diff
+OK
+OK
+OK
+OK
+--extract
+OK
+OK
+OK
+OK
+],
+[--create
+--list
+--diff
+--extract
+],[],[],[posix,gnu,ustar,oldgnu])
+
+AT_CLEANUP
+
+m4_popdef([TESTOP])
+
index e033b56cbe3672a7a172cc83c2c9c156f49f9d16..34bbda62c6b836e49f64d976994ba6029a2ea523 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index a970a991ae9e5b1ef1a152ecd2b0ff241d196728..daa03e8f841b02397746ebf25b2dcec9c422030a 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
index 454f69285aa4e806a8ac6e547f21ce713d91f44e..a38d4521a0c726a43d0371455cbdb70023e1c25e 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
index 3ffc71da169ef8923abdda815e7d9ffc9da5bc10..ed9f6671613c9c801e3f01c20acbd15f647656c4 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
@@ -19,7 +19,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 AT_SETUP([tar --one-top-level --transform])
-AT_KEYWORDS([extract onetop onetop02])
+AT_KEYWORDS([extract onetop onetop03])
 
 AT_TAR_CHECK([
 AT_SORT_PREREQ
index 37fba19ae0b585811baf4826f403231307e932db..c76ff80f4142b774061907138b729af849da34e2 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
@@ -19,7 +19,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 AT_SETUP([tar --one-top-level --transform])
-AT_KEYWORDS([extract onetop onetop02])
+AT_KEYWORDS([extract onetop onetop04])
 
 AT_TAR_CHECK([
 AT_SORT_PREREQ
diff --git a/tests/onetop05.at b/tests/onetop05.at
new file mode 100644 (file)
index 0000000..d718f61
--- /dev/null
@@ -0,0 +1,73 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2015-2016 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 <http://www.gnu.org/licenses/>.
+#
+AT_SETUP([tar --one-top-level restoring permissions])
+AT_KEYWORDS([extract onetop onetop05])
+
+# When extracting an archive that contains ./ with the --one-top-level option,
+# the mode and ownership of ./ would be incorrectly applied to the current
+# working directory, instead of the requested top-level directory.
+
+AT_TAR_CHECK([
+orig_mode=3702
+mkdir d
+chmod $orig_mode d
+
+mode=$(genfile --stat=mode.7777 d)
+test $mode = $orig_mode || AT_SKIP_TEST
+
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=$(genfile --stat=mode.777 d1)
+if test 700 = $mode; then
+    echo "CWD: OK"
+else
+    echo "CWD: mode changed: 700 != $mode"
+fi
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=$(genfile --stat=mode.777 d2)
+if test 700 = $mode; then
+    echo "DIR: OK"
+else
+    echo "DIR: mode changed: 700 != $mode"
+fi
+mode=$(genfile --stat=mode.7777 d2/top)
+if test $mode = $orig_mode; then
+    echo "TOP: OK"
+else    
+    echo "TOP: mode changed: $orig_mode != $mode"
+fi
+],
+[0],
+[CWD: OK
+DIR: OK
+TOP: OK
+])
+
+AT_CLEANUP
index bcd96d3e143c5a3c450e270a8d7970a6e81ae859..da6c3678441d2553570e81abb50aa0d3c3fbd8b4 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 1a36b1349b0d67b3463ad1b1937f5e773243409c..b2dfb5e98a0b5effae24f0ceba46f6280c05fddc 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 20ace5858a65305c5700d8587d1ce6314be2563d..5d293cf204a0041c1d5552a12ef63cce36d8a81e 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 2f9eb04943da9ce0393f79e822cae063f9c362ec..053bbfc7f503a78cd0f19637cd8a8fad41971df7 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index adcdc67df7f26861255b6b54b0b4257ef8dc3492..873e34bb8de7ea2058958c7cf873b360451f0092 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 3ac661057e3474306a1a508af28669d6217195f4..9d51936ddc54e1bb4a5d7e942a33e6803519731f 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 32b50bd9ca1a47bdd9003a1c63e3803c6f5aad31..e5ff8ade1cf3051de287579ed778de98888bd944 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index c8dfdbd59434eab5b47444c51cc09caee363d602..9f3175f1c20adab334be84e60f787ff6f7ac579c 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 9c04223d5c1d98a87eb78351994e2b5562b54601..87458e9087fdfd74580600a64cabb489f3a98c2e 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index 3ec059199ab44e00e012cdd4a7793551ac8cac3f..396ad8b5c176ab768d3130dff4423d6ff7fc0131 100644 (file)
@@ -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.28])
-m4_define([AT_PACKAGE_STRING],    [GNU tar 1.28])
+m4_define([AT_PACKAGE_VERSION],   [1.29])
+m4_define([AT_PACKAGE_STRING],    [GNU tar 1.29])
 m4_define([AT_PACKAGE_BUGREPORT], [bug-tar@gnu.org])
index 2cfa5f5a347fdb586422544e87dc085345541811..6ba96440a1a370f39439c13d82bf359c34342867 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004-2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 93aa2c14e0b7d87c9bc9737dcd4611f69b4de73c..adc8f30148e33016b46bcc225fb8e90e1dc2d240 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -37,11 +37,18 @@ tar --create --file archive \
     --no-recursion directory1 \
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \
+    --no-recursion directory1 \
+    --recursion directory2 || exit 1
 ],
 [0],
 [directory1/
 directory2/
 directory2/file
+directory1/
+directory2/
+directory2/file
 ])
 
 AT_CLEANUP
index c79e7954a8871f98bb2efdee671d940e562db317..e847a162c5112092c6b9e628caaf4aaf5e586605 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 39adcaa0607bb0c9a44172bba38b5cbfc5248140..e257b9ad641f00c54bc4006e1ad0ff5279b179b5 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index c77afedf2bd5b52d5548178c232104282bc87b1a..87fc44ae515ea191926ee3b1bd740a4f28770e45 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index bc3f37972027fbf16ce89ceb9ad4358b00d45673..b0c810dd334ad6ade032bae876550a91b8fcfa0c 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index ace78e8ed28d59caef47fcf5be6ac8830a67a251..8d7dc633829dfd5c58c3431a62c0fbfd9325edcb 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 27273a65c30d0415d4a7c065dc4e95d4ae0cd25a..b075cf47440fd1d00b911dbd63f6743b7d8326d4 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index bf426c6a378449f32c42d7ae44c5ac73271170ba..fd47d9153a2b870c962cbcafd0ef2ee2897656bc 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index cc3680bcd6282b98980a1b4d868467f9f49211f5..cc952ba38d1f14b0610631be539b04e70bddfae5 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index f4294510c1aecf6bd9202af56573dc5f9c47d604..140e481a7f3be329a06eda1356b29151e5972500 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index c1a46380f8c077e4d00a5980cba2fa15cd593b77..00ab706841f86a4617886d74512913324c9cc179 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 798c7c330b87a89f18e49dbfaa39cd46449abeb9..20548260fa82ac14c3129fc70bffa6d700f0b77c 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 2626f2e39dd7e10a094a12bddfb3b6a9bcf47aba..3671761d49d9d2ced85604649a4236f9f801cd2e 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 78a70e49176964f2b4a12d5f9d36ecbd940f771e..4c5694b22bcde595936cdc09576a719f1286c256 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index f3131f7791c2d9c37abfa96839d3b5b78c90d35f..b11aee16842d446b9afe213842f0e2cb175f7470 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index c5db0d5a9137ffa5eb53b3ad2c607812662a7283..694a437cd1faa89699caa188e24064289dfb14ce 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 9b4139a4e47970b01bdd9b96d9ecd73361e562be..21b7ae2bfa48f5f2604cca4407416dc49c951a42 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 8db9f717513a57e2bd01a8e1106828586b6be21d..39bb9922350a6131fa6211a8d3215ff25e5b10bc 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 13beaf42b98965379b647ceaef3e4ea99f1a4a49..cb7750ec7b05fc3a90e4d734a1ca85939dc39e3f 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
@@ -31,8 +31,6 @@
 AT_SETUP([remove-files deleting two subdirs in -c/incr. mode])
 AT_KEYWORDS([create incremental remove-files remfiles08 remfiles08b])
 
-AT_XFAIL_IF(true) # we expect to fail in tar 1.27
-
 AT_TAR_CHECK([
 mkdir foo
 mkdir bar
index b52b0328bbcd2a495923ee7d512177383193e5f2..ef65b49e81366a7656553c857b99dea4a9bd779d 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 5f96737eed64ba72dead4aade290185d58e32093..79ef30ae06f705fb677c42c041a450eda8ac93b5 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index 45b8440c9c0f5de9545a217a6f9870405f9c8f0e..ac506bed02d0028baee8b936e3eb1e3101b919d9 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
@@ -29,8 +29,6 @@
 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([
 mkdir foo
 echo foo/file > foo/file
index 7d7d9676fcb2990f22a961d1c05cf698b61d6b29..ebc2e0158859c2815d7989e8563ffc0347187982 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2014, 2016 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
index b4fe13931cace95f190e1c9fe4edc942ddccea5e..ddd631ba46a9c6f87539a307a8c509ce2dc5609a 100644 (file)
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014, 2016 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
index e6990fec01906e69f22ffe56f3849750354d3376..5275b7d26365305f76ca10c69294ff581b0a19cb 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 8de3123af86a6f11d79896ac641d4d88c67de79c..9bf80004cc8fff1f7ed38e91b65d752d8a0d3e45 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index fdfff3a22300d96063c4f4c4d5b1c13e31c110b7..a7d932dea28b8788942146872b60aaafd17241b0 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index c6319ea91015e5569c17fb6cf5d1a2861d0afed4..c31dfdff0f10e27198c79726e8da7abebebc5783 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2008, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2008, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 417ac28ff1bb9ffdc23139ca939cc12be99122ff..25a26661d24196bfda68c5a86e9060c82c013e33 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2008, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2008, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index fab9c3e84ce2962beb36dd82c705da0ae6997f1d..f50e923c60ba07323f8050ffd275ff67690e8466 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 56dd71ba7b6d14556e2c44d0fbc527d10cb45c60..18ce8a0cf3be2f4d5586d30250840d1682d8b5f6 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index b90794d3a7a4dd440a3b858e93d27b01223e265b..72d21c870c57eabdc8301f74862b4ede5f18e0e3 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 48b45d9b655de0b261096fd161c0a76621f6f277..7485cc8e03e704a71790891820fd85f68376294e 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 2a9fdf6b3af5088a069b2c3b8509b98a09849dfc..543173d9a0189b042640e561d9e9b3cc43fc02c3 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 13e46d34d9845880624afee118c2f2c4b94bef80..07b0af373a79ad46fef527fe898ba8c162086354 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005, 2007-2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005, 2007-2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 1a43e4110654f9752b90f3c59502e4167d37644e..d5f93a435a1564ba40cfd7fcfd712a2933c3c5da 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 4b27ef1230d2e08455dcdf37eabd92cb4fcfe6c7..825b72b9d55a9fb37ddd196a948e0939f662db55 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index ccd54dae759f11344d369d33f146753e0bbec1e9..bf0e08c319f0a96358c5749aec0db4883a4c6430 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 1f0449146deb2cb0c780de6ad45de0d3463ae5ca..a4ac62edbd5aef217fa39b5f379de054943c9aa9 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
@@ -27,7 +28,7 @@ AT_KEYWORDS([sparse sparse02])
 
 AT_TAR_CHECK([
 genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || AT_SKIP_TEST
-tar -c -f archive --sparse sparsefile || exit 1
+tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
 echo separator
 
 tar xfO archive | cat - > sparsecopy || exit 1
index 3521eab739add1e4e866b39ac8c5b392b9275187..30f381c58d8b7ea7eb9e15eeb1f2891e3c77a192 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index c6e9cd35c6759b6acdb6cb9764f15c30661cd13c..833cbf7813bb7d54251873d16d3b383e1d51adfa 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sparse05.at b/tests/sparse05.at
new file mode 100644 (file)
index 0000000..0c7a037
--- /dev/null
@@ -0,0 +1,47 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2014, 2016 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 <http://www.gnu.org/licenses/>.
+
+AT_SETUP([listing sparse files bigger than 2^33 B])
+AT_KEYWORDS([sparse sparse05])
+
+# Description: If an archive in POSIX.1-2001 archive contained a sparse file
+# member whose real size (excluding zero blocks) is bigger than 2^33 bytes,
+# tar 1.28 would incorrectly list the real member size.
+# Reported by: Pavel Raiskup <praiskup@redhat.com>
+# References: <1359119879.15037.4.camel@raiskup>,
+#             http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00001.html
+
+AT_TAR_CHECK([
+AT_DATA([mapfile],
+[0 =2560
+m4_for([i], 1, 999, 1, [10M =2560
+])])
+genfile --sparse --file BIGFILE --block-size 4K - < mapfile || AT_SKIP_TEST
+tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print $3, $(NF) }'
+],
+[0],
+[20961034240 BIGFILE
+],
+[],
+[],
+[],
+[pax])
+
+AT_CLEANUP
diff --git a/tests/sparse06.at b/tests/sparse06.at
new file mode 100644 (file)
index 0000000..7014125
--- /dev/null
@@ -0,0 +1,54 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2014, 2016 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 <http://www.gnu.org/licenses/>.
+
+AT_SETUP([storing sparse file using seek method])
+AT_KEYWORDS([sparse sparse06])
+
+m4_define([check_pattern],[
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse $1
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+])
+
+AT_TAR_CHECK([
+AT_SEEKHOLE_PREREQ
+
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=seek"
+genfile --sparse --file bigsparse 0 ABC 8G DEF
+tar -cSf a bigsparse
+test $? -eq 0 || exit 1
+
+check_pattern([0 ABC])
+check_pattern([0 ABC 10M])
+check_pattern([0 ABC 10M DEF])
+
+check_pattern([10M])
+check_pattern([10M ABC])
+check_pattern([10M ABC 20M])
+
+check_pattern([10M DEF 20M GHI 30M JKL 40M])
+
+],
+[0],,
+[],,,[posix])
+
+AT_CLEANUP
index 958f04e1f3444246a30b834257bfb839e8843033..3d642fe5a72c8eef1b639b7b01d2ea13cc162c16 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2008, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005-2008, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -30,6 +30,7 @@ AT_KEYWORDS([sparse multiv sparsemv])
 
 AT_TAR_CHECK([
 exec <&-
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || AT_SKIP_TEST
 echo "Pass 1: Split between data blocks"
 echo "Create archive"
index 29ee224bd67b5b17796ca9e1ba1569c1046f8a46..9a0e1f57195a1c002e48ab85dc3de323171bf35e 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005-2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -26,6 +26,7 @@ dnl TAR_MVP_TEST version map1 map2
 m4_define([TAR_MVP_TEST],[
 AT_TAR_CHECK([
 exec <&-
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
 genfile --sparse --file sparsefile $2 || AT_SKIP_TEST
 echo "Pass 1: Split between data blocks"
 echo "Create archive"
index 30a058555bad0f2501b10f7e4c18caa63df53137..c053117e34db2976181a10e49e491d9183269993 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index a6788c802bb3c1d6bfbf9ddc03c53b1d4bba4379..b1fc1e37c8f7405726df905e88d8b77d73acd862 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 4adf10bec2a59f144729cc563133f0f09d905886..a6373677d49b7b5c1d42bc5c2ff200ab3199b3af 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index fc4767300a9bbe256f1ccfa899ab5e15fb81c9df..57a66091c950d3b8c4f8766ccf68fed17707a6e7 100644 (file)
@@ -67,8 +67,8 @@ the example below:
 \f
 * Copying
 
-Copyright 2004, 2006-2008, 2010, 2012-2014 Free Software Foundation,
-Inc.
+Copyright 2004, 2006-2008, 2010, 2012-2014, 2016 Free Software
+Foundation, Inc.
 
 This file is part of GNU tar.
 
index 8416942efbf1f1864689e89c0eeb15022a28fffd..3fc661bde8105c47da9ded9a2af49c0b826dbd10 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index e2c52ea1aeb0ecaf2f4f3776a851767d3c57747e..9ab5fbe254f6f70e20b1fda2684312eb262a9732 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 053cfc9976db7663bc63125a811653779a70888f..07df54e430c3e02d7ecc3341e70b85508ec4d44d 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index ea99caf1ca2afae9720cdfccd755c32a119b507a..9693e7d078c86b0d73f72b7c0c6812a14e88bdaa 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 84e5fc132ed2a84877d9906f74a2a7f9c1b2daed..1cb0158dd004d093e47d4e258a24539c41544327 100755 (executable)
@@ -1,6 +1,7 @@
 #! /bin/sh
 # This file is part of GNU tar testsuite.
-# Copyright 2004-2005, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004-2005, 2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 1e2081f50b4f805cb1d0c2dd9cc04e9f07119c38..a3fadb348144bd7e3956b5598dc015694ce11d8d 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index 6857ce3b6f5e4811e3875c481eaf34c49f2f555b..7c3498a658631dcc9f066617568a0928a1b1e8a3 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index c1432b1681ad16be0b7dea8998006d1593a5ead0..4c0d7bec0a863789e50b3266a8ecc587953bf93d 100755 (executable)
@@ -590,10 +590,10 @@ at_tested='tar'
 # numerical order.
 at_format='???'
 # Description of all the test groups.
-at_help_all="1;version.at:19;tar version;;
+at_help_all="1;version.at:20;tar version;;
 2;pipe.at:29;decompressing from stdin;pipe;
-3;options.at:24;mixing options;options options00;
-4;options02.at:26;interspersed options;options options02;
+3;options.at:25;mixing options;options options00;
+4;options02.at:27;interspersed options;options options02;
 5;opcomp01.at:21;occurrence compatibility;opcomp opcomp01;
 6;opcomp02.at:21;occurrence compatibility;opcomp opcomp02;
 7;opcomp03.at:21;--verify compatibility;opcomp opcomp03;
@@ -603,181 +603,197 @@ at_help_all="1;version.at:19;tar version;;
 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:24;gzip;gzip;
-22;recurse.at:21;recurse;recurse;
-23;recurs02.at:30;recurse: toggle;recurse options recurse02;
-24;shortrec.at:25;short records;shortrec;
-25;iotty.at:26;terminal input;options iotty;
-26;same-order01.at:26;working -C with --same-order;same-order same-order01;
-27;same-order02.at:25;multiple -C options;same-order same-order02;
-28;append.at:21;append;append append00;
-29;append01.at:29;appending files with long names;append append01;
-30;append02.at:54;append vs. create;append append02 append-gnu;
-31;append03.at:21;append with name transformation;append append03;
-32;append04.at:29;append with verify;append append04 verify append-verify;
-33;xform-h.at:30;transforming hard links on create;transform xform xform-h;
-34;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume;
-35;exclude.at:23;exclude;exclude;
-36;exclude01.at:19;exclude wildcards;exclude exclude01;
-37;exclude02.at:19;exclude: anchoring;exclude exclude02;
-38;exclude03.at:19;exclude: wildcards match slash;exclude exclude03;
-39;exclude04.at:19;exclude: case insensitive;exclude exclude04;
-40;exclude05.at:21;exclude: lots of excludes;exclude exclude05;
-41;exclude06.at:26;exclude: long files in pax archives;exclude exclude06;
-42;exclude07.at:19;exclude: --exclude-backups option;exclude exclude07;
-43;exclude08.at:36;--exclude-tag option;exclude exclude-tag exclude08;
-44;exclude09.at:37;--exclude-tag option and --listed-incremental;exclude exclude-tag listed incremental exclude09;
-45;exclude10.at:38;--exclude-tag option in incremental pass;exclude exclude-tag listed incremental exclude10;
-46;exclude11.at:36;--exclude-tag-under option;exclude exclude-tag exclude-tag-under exclude11;
-47;exclude12.at:37;--exclude-tag-under and --listed-incremental;exclude exclude-tag exclude-tag-under listed incremental exclude12;
-48;exclude13.at:39;--exclude-tag-under option in incremental pass;exclude exclude-tag exclude-tag-under listed incremental exclude13;
-49;exclude14.at:36;--exclude-tag-all option;exclude exclude-tag exclude-tag-all exclude14;
-50;exclude15.at:36;--exclude-tag-all and --listed-incremental;exclude exclude-tag exclude-tag-all listed incremental exclude15;
-51;exclude16.at:38;--exclude-tag-all option in incremental pass;exclude exclude-tag exclude-tag-all listed incremental exclude16;
-52;delete01.at:23;deleting a member after a big one;delete delete01;
-53;delete02.at:23;deleting a member from stdin archive;delete delete02;
-54;delete03.at:21;deleting members with long names;delete delete03;
-55;delete04.at:23;deleting a large last member;delete delete04;
-56;delete05.at:27;deleting non-existing member;delete delete05;
-57;extrac01.at:23;extract over an existing directory;extract extract01;
-58;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink;
-59;extrac03.at:23;extraction loops;extract extract03;
-60;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch;
-61;extrac05.at:30;extracting selected members from pax;extract extract05;
-62;extrac06.at:34;mode of extracted directories;extract extract06 directory mode;
-63;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink;
-64;extrac08.at:33;restoring mode on existing directory;extract extrac08;
-65;extrac09.at:34;extracting even when . and .. are unreadable;extract extrac09;
-66;extrac10.at:29;-C and delayed setting of metadata;extract extrac10;
-67;extrac11.at:25;scarce file descriptors;extract extrac11;
-68;extrac12.at:25;extract dot permissions;extract extrac12;
-69;extrac13.at:26;extract over symlinks;extract extrac13;
-70;extrac14.at:25;extract -C symlink;extract extrac14;
-71;extrac15.at:25;extract parent mkdir failure;extract extrac15;
-72;extrac16.at:26;extract empty directory with -C;extract extrac16;
-73;extrac17.at:21;name matching/transformation ordering;extract extrac17;
-74;extrac18.at:34;keep-old-files;extract extrac18 old-files keep-old-files;
-75;extrac19.at:21;skip-old-files;extract extrac19 old-files skip-old-files;
-76;backup01.at:33;extracting existing dir with --backup;extract backup backup01;
-77;label01.at:21;single-volume label;label label01;
-78;label02.at:21;multi-volume label;label label02 multi-label multivolume multiv;
-79;label03.at:27;test-label option;label label03 test-label;
-80;label04.at:27;label with non-create option;label label04;
-81;label05.at:24;label with non-create option;label label05;
-82;incremental.at:23;incremental;incremental listed incr00;
-83;incr01.at:27;restore broken symlinks from incremental;incremental incr01;
-84;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02;
-85;listed01.at:26;--listed for individual files;listed incremental listed01;
-86;listed02.at:28;working --listed;listed incremental listed02;
-87;listed03.at:24;incremental dump when the parent directory is unreadable;listed incremental listed03;
-88;listed04.at:26;--listed-incremental and --one-file-system;listed incremental listed04;
-89;listed05.at:33;--listed-incremental and remounted directories;listed incremental listed05;
-90;incr03.at:28;renamed files in incrementals;incremental incr03 rename;
-91;incr04.at:29;proper icontents initialization;incremental incr04 icontents;
-92;incr05.at:21;incremental dumps with -C;incremental incr05;
-93;incr06.at:21;incremental dumps of nested directories;incremental incr06;
-94;incr07.at:18;incremental restores with -C;incremental extract incr07;
-95;incr08.at:38;filename normalization;incremental create incr08;
-96;incr09.at:26;incremental with alternating -C;incremental create incr09;
-97;filerem01.at:36;file removed as we read it (ca. 22 seconds);create incremental listed filechange filerem filerem01;
-98;filerem02.at:26;toplevel file removed (ca. 24 seconds);create incremental listed filechange filerem filerem02;
-99;rename01.at:24;renamed dirs in incrementals;incremental rename rename01;
-100;rename02.at:24;move between hierarchies;incremental rename rename02;
-101;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename;
-102;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
-103;rename05.at:24;renamed subdirectories;incremental rename05 rename;
-104;chtype.at:27;changed file types in incrementals;incremental listed chtype;
-105;ignfail.at:23;ignfail;ignfail;
-106;link01.at:33;link count gt 2;hardlinks link01;
-107;link02.at:32;preserve hard links with --remove-files;hardlinks link02;
-108;link03.at:24;working -l with --remove-files;hardlinks link03;
-109;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04;
-110;longv7.at:24;long names in V7 archives;longname longv7;
-111;long01.at:28;long file names divisible by block size;longname long512;
-112;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
-113;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
-114;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
-115;old.at:23;old archives;old;
-116;time01.at:20;time: tricky time stamps;time time01;
-117;multiv01.at:24;multivolume dumps from pipes;multivolume multiv multiv01;
-118;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
-119;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
-120;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental listed multiv04;
-121;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
-122;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
-123;multiv07.at:28;volumes split at an extended header;multivolume multiv multiv07 xsplit;
-124;multiv08.at:25;multivolume header creation;multivolume multiv multiv08;
-125;owner.at:21;--owner and --group;owner;
-126;sparse01.at:21;sparse files;sparse sparse01;
-127;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
-128;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
-129;sparse04.at:21;storing long sparse file names;sparse sparse04;
-130;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
-131;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00;
-132;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
-133;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10;
-134;update.at:28;update unchanged directories;update update00;
-135;update01.at:29;update directories;update update01;
-136;update02.at:26;update changed files;update update02;
-137;verify.at:25;verify;verify;
-138;volume.at:23;volume;volume volcheck;
-139;volsize.at:29;volume header size;volume volsize;
-140;comprec.at:21;compressed format recognition;comprec;
-141;shortfile.at:26;short input files;shortfile shortfile0;
-142;shortupd.at:31;updating short archives;shortfile shortfile1 shortupd;
-143;truncate.at:29;truncate;truncate filechange;
-144;grow.at:24;grow;grow filechange;
-145;sigpipe.at:21;sigpipe handling;sigpipe;
-146;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip;
-147;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip;
-148;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03;
-149;remfiles04a.at:25;remove-files with -C:rel in -c/non-incr. mode;create remove-files remfiles04 remfiles04a;
-150;remfiles04b.at:33;remove-files with -C:rel in -c/incr. mode;create incremental remove-files remfiles04 remfiles04b;
-151;remfiles04c.at:33;remove-files with -C:rel in -r mode;create append remove-files remfiles04 remfiles04c;
-152;remfiles05a.at:34;remove-files with -C:rel,rel in -c/non-incr. mode;create remove-files remfiles05 remfiles05a;
-153;remfiles05b.at:25;remove-files with -C:rel,rel in -c/incr. mode;create incremental remove-files remfiles05 remfiles05b;
-154;remfiles05c.at:25;remove-files with -C:rel,rel in -r mode;create append remove-files remfiles05 remfiles05c;
-155;remfiles06a.at:25;remove-files with -C:rel,abs in -c/non-incr. mode;create remove-files remfiles06 remfiles06a;
-156;remfiles06b.at:25;remove-files with -C:rel,abs in -c/incr. mode;create incremental remove-files remfiles06 remfiles06b;
-157;remfiles06c.at:25;remove-files with -C:rel,abs in -r mode;create append remove-files remfiles06 remfiles06c;
-158;remfiles07a.at:25;remove-files with -C:abs,rel in -c/non-incr. mode;create remove-files remfiles07 remfiles07a;
-159;remfiles07b.at:25;remove-files with -C:abs,rel in -c/incr. mode;create incremental remove-files remfiles07 remfiles07b;
-160;remfiles07c.at:25;remove-files with -C:abs,rel in -r mode;create append remove-files remfiles07 remfiles07c;
-161;remfiles08a.at:28;remove-files deleting two subdirs in -c/non-incr. mode;create remove-files remfiles08 remfiles08a;
-162;remfiles08b.at:31;remove-files deleting two subdirs in -c/incr. mode;create incremental remove-files remfiles08 remfiles08b;
-163;remfiles08c.at:28;remove-files deleting two subdirs in -r mode;create append remove-files remfiles08 remfiles08c;
-164;remfiles09a.at:25;remove-files on full directory in -c/non-incr. mode;create remove-files remfiles09 remfiles09a;
-165;remfiles09b.at:29;remove-files on full directory in -c/incr. mode;create incremental remove-files remfiles09 remfiles09b;
-166;remfiles09c.at:25;remove-files on full directory in -r mode;create append remove-files remfiles09 remfiles09c;
-167;remfiles10.at:20;remove-files;create remove-files remfiles10;
-168;xattr01.at:25;xattrs: basic functionality;xattrs xattr01;
-169;xattr02.at:25;xattrs: change directory with -C option;xattrs xattr02;
-170;xattr03.at:25;xattrs: trusted.* attributes;xattrs xattr03;
-171;xattr04.at:26;xattrs: s/open/openat/ regression;xattrs xattr04;
-172;xattr05.at:28;xattrs: keywords with '=' and '%';xattrs xattr05;
-173;acls01.at:25;acls: basic functionality;xattrs acls acls01;
-174;acls02.at:25;acls: work with -C;xattrs acls acls02;
-175;acls03.at:30;acls: default ACLs;xattrs acls acls03;
-176;selnx01.at:25;selinux: basic store/restore;xattrs selinux selnx01;
-177;selacl01.at:25;acls/selinux: special files & fifos;xattrs selinux acls selacls01;
-178;capabs_raw01.at:25;capabilities: binary store/restore;xattrs capabilities capabs_raw01;
-179;onetop01.at:21;tar --one-top-level;extract onetop onetop01;
-180;onetop02.at:21;tar --one-top-level --show-transformed;extract onetop onetop02;
-181;onetop03.at:21;tar --one-top-level --transform;extract onetop onetop02;
-182;onetop04.at:21;tar --one-top-level --transform;extract onetop onetop02;
-183;gtarfail.at:21;gtarfail;star gtarfail;
-184;gtarfail2.at:21;gtarfail2;star gtarfail2;
-185;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
-186;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g;
-187;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g;
-188;pax-big-10g.at:21;pax-big-10g;star pax-big-10g;
+14;T-recurse.at:27;files-from & recurse: toggle;recurse t-recurse files-from;
+15;T-recurse.at:66;toggle --recursion (not) from -T;recurse t-recurse t-recurse2 files-from;
+16;T-cd.at:21;-C in file lists;files-from t-cd;
+17;T-empty.at:26;empty entries;files-from empty-line;
+18;T-null.at:21;0-separated file without -0;files-from null t-null;
+19;T-null2.at:17;--null enables verbatim reading;files-from null t-null2 t-verbatim;
+20;T-zfile.at:26;empty file;files-from empty-file;
+21;T-nonl.at:27;entries with missing newlines;files-from nonewline nonl t-nonl;
+22;T-dir00.at:28;recursive extraction from --files-from;files-from extract t-dir t-dir00;
+23;T-dir01.at:28;trailing slash in --files-from;files-from extract t-dir t-dir01;
+24;indexfile.at:26;tar --index-file=FILE --file=-;stdout indexfile;
+25;verbose.at:26;tar cvf -;stdout verbose;
+26;gzip.at:24;gzip;gzip;
+27;recurse.at:21;recurse;recurse;
+28;recurs02.at:30;recurse: toggle;recurse options recurse02;
+29;shortrec.at:26;short records;shortrec;
+30;numeric.at:18;--numeric-owner basic tests;options numeric numeric-owner;
+31;same-order01.at:27;working -C with --same-order;same-order same-order01;
+32;same-order02.at:26;multiple -C options;same-order same-order02;
+33;append.at:22;append;append append00;
+34;append01.at:29;appending files with long names;append append01;
+35;append02.at:55;append vs. create;append append02 append-gnu;
+36;append03.at:21;append with name transformation;append append03;
+37;append04.at:29;append with verify;append append04 verify append-verify;
+38;append05.at:32;append after changed blocking;append append05 blocking;
+39;xform-h.at:30;transforming hard links on create;transform xform xform-h;
+40;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume;
+41;xform02.at:21;transforming escaped delimiters on create;transform xform delimiter;
+42;exclude.at:23;exclude;exclude;
+43;exclude01.at:19;exclude wildcards;exclude exclude01;
+44;exclude02.at:19;exclude: anchoring;exclude exclude02;
+45;exclude03.at:19;exclude: wildcards match slash;exclude exclude03;
+46;exclude04.at:19;exclude: case insensitive;exclude exclude04;
+47;exclude05.at:21;exclude: lots of excludes;exclude exclude05;
+48;exclude06.at:26;exclude: long files in pax archives;exclude exclude06;
+49;exclude07.at:19;exclude: --exclude-backups option;exclude exclude07;
+50;exclude08.at:36;--exclude-tag option;exclude exclude-tag exclude08;
+51;exclude09.at:37;--exclude-tag option and --listed-incremental;exclude exclude-tag listed incremental exclude09;
+52;exclude10.at:38;--exclude-tag option in incremental pass;exclude exclude-tag listed incremental exclude10;
+53;exclude11.at:36;--exclude-tag-under option;exclude exclude-tag exclude-tag-under exclude11;
+54;exclude12.at:37;--exclude-tag-under and --listed-incremental;exclude exclude-tag exclude-tag-under listed incremental exclude12;
+55;exclude13.at:39;--exclude-tag-under option in incremental pass;exclude exclude-tag exclude-tag-under listed incremental exclude13;
+56;exclude14.at:36;--exclude-tag-all option;exclude exclude-tag exclude-tag-all exclude14;
+57;exclude15.at:36;--exclude-tag-all and --listed-incremental;exclude exclude-tag exclude-tag-all listed incremental exclude15;
+58;exclude16.at:38;--exclude-tag-all option in incremental pass;exclude exclude-tag exclude-tag-all listed incremental exclude16;
+59;delete01.at:24;deleting a member after a big one;delete delete01;
+60;delete02.at:24;deleting a member from stdin archive;delete delete02;
+61;delete03.at:21;deleting members with long names;delete delete03;
+62;delete04.at:24;deleting a large last member;delete delete04;
+63;delete05.at:28;deleting non-existing member;delete delete05;
+64;extrac01.at:24;extract over an existing directory;extract extract01;
+65;extrac02.at:24;extracting symlinks over an existing file;extract extract02 symlink;
+66;extrac03.at:23;extraction loops;extract extract03;
+67;extrac04.at:24;extract + fnmatch;extract extract04 fnmatch;
+68;extrac05.at:31;extracting selected members from pax;extract extract05;
+69;extrac06.at:34;mode of extracted directories;extract extract06 directory mode;
+70;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink;
+71;extrac08.at:33;restoring mode on existing directory;extract extrac08;
+72;extrac09.at:34;extracting even when . and .. are unreadable;extract extrac09;
+73;extrac10.at:29;-C and delayed setting of metadata;extract extrac10;
+74;extrac11.at:25;scarce file descriptors;extract extrac11;
+75;extrac12.at:25;extract dot permissions;extract extrac12;
+76;extrac13.at:26;extract over symlinks;extract extrac13;
+77;extrac14.at:25;extract -C symlink;extract extrac14;
+78;extrac15.at:25;extract parent mkdir failure;extract extrac15;
+79;extrac16.at:26;extract empty directory with -C;extract extrac16;
+80;extrac17.at:21;name matching/transformation ordering;extract extrac17;
+81;extrac18.at:34;keep-old-files;extract extrac18 old-files keep-old-files;
+82;extrac19.at:21;skip-old-files;extract extrac19 old-files skip-old-files;
+83;backup01.at:33;extracting existing dir with --backup;extract backup backup01;
+84;label01.at:21;single-volume label;label label01;
+85;label02.at:21;multi-volume label;label label02 multi-label multivolume multiv;
+86;label03.at:27;test-label option;label label03 test-label;
+87;label04.at:27;label with non-create option;label label04;
+88;label05.at:24;label with non-create option;label label05;
+89;incremental.at:23;incremental;incremental listed incr00;
+90;incr01.at:27;restore broken symlinks from incremental;incremental incr01;
+91;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02;
+92;listed01.at:27;--listed for individual files;listed incremental listed01;
+93;listed02.at:29;working --listed;listed incremental listed02;
+94;listed03.at:24;incremental dump when the parent directory is unreadable;listed incremental listed03;
+95;listed04.at:26;--listed-incremental and --one-file-system;listed incremental listed04;
+96;listed05.at:33;--listed-incremental and remounted directories;listed incremental listed05;
+97;incr03.at:29;renamed files in incrementals;incremental incr03 rename;
+98;incr04.at:30;proper icontents initialization;incremental incr04 icontents;
+99;incr05.at:21;incremental dumps with -C;incremental incr05;
+100;incr06.at:21;incremental dumps of nested directories;incremental incr06;
+101;incr07.at:18;incremental restores with -C;incremental extract incr07;
+102;incr08.at:38;filename normalization;incremental create incr08;
+103;incr09.at:26;incremental with alternating -C;incremental create incr09;
+104;incr10.at:18;concatenated incremental archives (deletes);incremental concat cat incr10;
+105;incr11.at:25;concatenated incremental archives (renames);incremental concat cat incr11;
+106;filerem01.at:36;file removed as we read it (ca. 22 seconds);create incremental listed filechange filerem filerem01;
+107;filerem02.at:26;toplevel file removed (ca. 24 seconds);create incremental listed filechange filerem filerem02;
+108;rename01.at:25;renamed dirs in incrementals;incremental rename rename01;
+109;rename02.at:25;move between hierarchies;incremental rename rename02;
+110;rename03.at:24;cyclic renames;incremental rename rename03 cyclic-rename;
+111;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
+112;rename05.at:24;renamed subdirectories;incremental rename05 rename;
+113;chtype.at:27;changed file types in incrementals;incremental listed chtype;
+114;ignfail.at:24;ignfail;ignfail;
+115;link01.at:34;link count gt 2;hardlinks link01;
+116;link02.at:32;preserve hard links with --remove-files;hardlinks link02;
+117;link03.at:24;working -l with --remove-files;hardlinks link03;
+118;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04;
+119;longv7.at:25;long names in V7 archives;longname longv7;
+120;long01.at:28;long file names divisible by block size;longname long512;
+121;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
+122;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
+123;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
+124;old.at:23;old archives;old;
+125;time01.at:20;time: tricky time stamps;time time01;
+126;time02.at:20;time: clamping mtime;time time02;
+127;multiv01.at:24;multivolume dumps from pipes;multivolume multiv multiv01;
+128;multiv02.at:29;skipping a straddling member;multivolume multiv multiv02;
+129;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
+130;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental listed multiv04;
+131;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
+132;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
+133;multiv07.at:28;volumes split at an extended header;multivolume multiv multiv07 xsplit;
+134;multiv08.at:25;multivolume header creation;multivolume multiv multiv08;
+135;multiv09.at:26;bad next volume;multivolume multiv multiv09;
+136;owner.at:21;--owner and --group;owner;
+137;map.at:21;--owner-map and --group-map;owner map;
+138;sparse01.at:22;sparse files;sparse sparse01;
+139;sparse02.at:22;extracting sparse file over a pipe;sparse sparse02;
+140;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
+141;sparse04.at:21;storing long sparse file names;sparse sparse04;
+142;sparse05.at:21;listing sparse files bigger than 2^33 B;sparse sparse05;
+143;sparse06.at:21;storing sparse file using seek method;sparse sparse06;
+144;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
+145;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00;
+146;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
+147;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10;
+148;update.at:28;update unchanged directories;update update00;
+149;update01.at:29;update directories;update update01;
+150;update02.at:26;update changed files;update update02;
+151;verify.at:25;verify;verify;
+152;volume.at:24;volume;volume volcheck;
+153;volsize.at:29;volume header size;volume volsize;
+154;comprec.at:22;compressed format recognition;comprec;
+155;shortfile.at:26;short input files;shortfile shortfile0;
+156;shortupd.at:31;updating short archives;shortfile shortfile1 shortupd;
+157;truncate.at:29;truncate;truncate filechange;
+158;grow.at:24;grow;grow filechange;
+159;sigpipe.at:21;sigpipe handling;sigpipe;
+160;comperr.at:18;compressor program failure;compress comperr;
+161;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip;
+162;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip;
+163;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03;
+164;remfiles04a.at:25;remove-files with -C:rel in -c/non-incr. mode;create remove-files remfiles04 remfiles04a;
+165;remfiles04b.at:33;remove-files with -C:rel in -c/incr. mode;create incremental remove-files remfiles04 remfiles04b;
+166;remfiles04c.at:33;remove-files with -C:rel in -r mode;create append remove-files remfiles04 remfiles04c;
+167;remfiles05a.at:34;remove-files with -C:rel,rel in -c/non-incr. mode;create remove-files remfiles05 remfiles05a;
+168;remfiles05b.at:25;remove-files with -C:rel,rel in -c/incr. mode;create incremental remove-files remfiles05 remfiles05b;
+169;remfiles05c.at:25;remove-files with -C:rel,rel in -r mode;create append remove-files remfiles05 remfiles05c;
+170;remfiles06a.at:25;remove-files with -C:rel,abs in -c/non-incr. mode;create remove-files remfiles06 remfiles06a;
+171;remfiles06b.at:25;remove-files with -C:rel,abs in -c/incr. mode;create incremental remove-files remfiles06 remfiles06b;
+172;remfiles06c.at:25;remove-files with -C:rel,abs in -r mode;create append remove-files remfiles06 remfiles06c;
+173;remfiles07a.at:25;remove-files with -C:abs,rel in -c/non-incr. mode;create remove-files remfiles07 remfiles07a;
+174;remfiles07b.at:25;remove-files with -C:abs,rel in -c/incr. mode;create incremental remove-files remfiles07 remfiles07b;
+175;remfiles07c.at:25;remove-files with -C:abs,rel in -r mode;create append remove-files remfiles07 remfiles07c;
+176;remfiles08a.at:28;remove-files deleting two subdirs in -c/non-incr. mode;create remove-files remfiles08 remfiles08a;
+177;remfiles08b.at:31;remove-files deleting two subdirs in -c/incr. mode;create incremental remove-files remfiles08 remfiles08b;
+178;remfiles08c.at:28;remove-files deleting two subdirs in -r mode;create append remove-files remfiles08 remfiles08c;
+179;remfiles09a.at:25;remove-files on full directory in -c/non-incr. mode;create remove-files remfiles09 remfiles09a;
+180;remfiles09b.at:29;remove-files on full directory in -c/incr. mode;create incremental remove-files remfiles09 remfiles09b;
+181;remfiles09c.at:25;remove-files on full directory in -r mode;create append remove-files remfiles09 remfiles09c;
+182;remfiles10.at:20;remove-files;create remove-files remfiles10;
+183;xattr01.at:25;xattrs: basic functionality;xattrs xattr01;
+184;xattr02.at:25;xattrs: change directory with -C option;xattrs xattr02;
+185;xattr03.at:25;xattrs: trusted.* attributes;xattrs xattr03;
+186;xattr04.at:26;xattrs: s/open/openat/ regression;xattrs xattr04;
+187;xattr05.at:28;xattrs: keywords with '=' and '%';xattrs xattr05;
+188;acls01.at:25;acls: basic functionality;xattrs acls acls01;
+189;acls02.at:25;acls: work with -C;xattrs acls acls02;
+190;acls03.at:30;acls: default ACLs;xattrs acls acls03;
+191;selnx01.at:25;selinux: basic store/restore;xattrs selinux selnx01;
+192;selacl01.at:25;acls/selinux: special files & fifos;xattrs selinux acls selacls01;
+193;capabs_raw01.at:25;capabilities: binary store/restore;xattrs capabilities capabs_raw01;
+194;onetop01.at:21;tar --one-top-level;extract onetop onetop01;
+195;onetop02.at:21;tar --one-top-level --show-transformed;extract onetop onetop02;
+196;onetop03.at:21;tar --one-top-level --transform;extract onetop onetop03;
+197;onetop04.at:21;tar --one-top-level --transform;extract onetop onetop04;
+198;onetop05.at:21;tar --one-top-level restoring permissions;extract onetop onetop05;
+199;gtarfail.at:22;gtarfail;star gtarfail;
+200;gtarfail2.at:22;gtarfail2;star gtarfail2;
+201;multi-fail.at:22;multi-fail;star multivolume multiv multi-fail;
+202;ustar-big-2g.at:22;ustar-big-2g;star ustar-big-2g;
+203;ustar-big-8g.at:22;ustar-big-8g;star ustar-big-8g;
+204;pax-big-10g.at:22;pax-big-10g;star pax-big-10g;
 "
 # List of the all the test groups.
 at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
@@ -791,7 +807,7 @@ at_fn_validate_ranges ()
   for at_grp
   do
     eval at_value=\$$at_grp
-    if test $at_value -lt 1 || test $at_value -gt 188; then
+    if test $at_value -lt 1 || test $at_value -gt 204; then
       $as_echo "invalid test group: $at_value" >&2
       exit 1
     fi
@@ -1090,7 +1106,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF || at_write_fail=1
-GNU tar 1.28 test suite test groups:
+GNU tar 1.29 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -1131,7 +1147,7 @@ _ATEOF
   exit $at_write_fail
 fi
 if $at_version_p; then
-  $as_echo "$as_me (GNU tar 1.28)" &&
+  $as_echo "$as_me (GNU tar 1.29)" &&
   cat <<\_ATEOF || at_write_fail=1
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1148,86 +1164,86 @@ case $at_groups in #(
   * ) at_print_banners=false ;;
 esac
 # Text for banner N, set to a single space once printed.
-# Banner 1. testsuite.at:191
+# Banner 1. testsuite.at:208
 # Category starts at test group 5.
 at_banner_text_1="Option compatibility"
-# Banner 2. testsuite.at:199
+# Banner 2. testsuite.at:216
 # Category starts at test group 11.
 at_banner_text_2="The -T option"
-# Banner 3. testsuite.at:209
-# Category starts at test group 19.
+# Banner 3. testsuite.at:230
+# Category starts at test group 24.
 at_banner_text_3="Various options"
-# Banner 4. testsuite.at:218
-# Category starts at test group 26.
+# Banner 4. testsuite.at:239
+# Category starts at test group 31.
 at_banner_text_4="The --same-order option"
-# Banner 5. testsuite.at:222
-# Category starts at test group 28.
-at_banner_text_5="Append"
-# Banner 6. testsuite.at:229
+# Banner 5. testsuite.at:243
 # Category starts at test group 33.
+at_banner_text_5="Append"
+# Banner 6. testsuite.at:251
+# Category starts at test group 39.
 at_banner_text_6="Transforms"
-# Banner 7. testsuite.at:233
-# Category starts at test group 35.
+# Banner 7. testsuite.at:256
+# Category starts at test group 42.
 at_banner_text_7="Exclude"
-# Banner 8. testsuite.at:252
-# Category starts at test group 52.
+# Banner 8. testsuite.at:275
+# Category starts at test group 59.
 at_banner_text_8="Deletions"
-# Banner 9. testsuite.at:259
-# Category starts at test group 57.
+# Banner 9. testsuite.at:282
+# Category starts at test group 64.
 at_banner_text_9="Extracting"
-# Banner 10. testsuite.at:281
-# Category starts at test group 77.
+# Banner 10. testsuite.at:304
+# Category starts at test group 84.
 at_banner_text_10="Volume label operations"
-# Banner 11. testsuite.at:288
-# Category starts at test group 82.
+# Banner 11. testsuite.at:311
+# Category starts at test group 89.
 at_banner_text_11="Incremental archives"
-# Banner 12. testsuite.at:305
-# Category starts at test group 97.
+# Banner 12. testsuite.at:330
+# Category starts at test group 106.
 at_banner_text_12="Files removed while archiving"
-# Banner 13. testsuite.at:309
-# Category starts at test group 99.
+# Banner 13. testsuite.at:334
+# Category starts at test group 108.
 at_banner_text_13="Renames"
-# Banner 14. testsuite.at:317
-# Category starts at test group 105.
+# Banner 14. testsuite.at:342
+# Category starts at test group 114.
 at_banner_text_14="Ignore failing reads"
-# Banner 15. testsuite.at:320
-# Category starts at test group 106.
+# Banner 15. testsuite.at:345
+# Category starts at test group 115.
 at_banner_text_15="Link handling"
-# Banner 16. testsuite.at:326
-# Category starts at test group 110.
+# Banner 16. testsuite.at:351
+# Category starts at test group 119.
 at_banner_text_16="Specific archive formats"
-# Banner 17. testsuite.at:336
-# Category starts at test group 117.
+# Banner 17. testsuite.at:362
+# Category starts at test group 127.
 at_banner_text_17="Multivolume archives"
-# Banner 18. testsuite.at:346
-# Category starts at test group 125.
+# Banner 18. testsuite.at:373
+# Category starts at test group 136.
 at_banner_text_18="Owner and Groups"
-# Banner 19. testsuite.at:349
-# Category starts at test group 126.
+# Banner 19. testsuite.at:377
+# Category starts at test group 138.
 at_banner_text_19="Sparse files"
-# Banner 20. testsuite.at:359
-# Category starts at test group 134.
+# Banner 20. testsuite.at:389
+# Category starts at test group 148.
 at_banner_text_20="Updates"
-# Banner 21. testsuite.at:364
-# Category starts at test group 137.
+# Banner 21. testsuite.at:394
+# Category starts at test group 151.
 at_banner_text_21="Verifying the archive"
-# Banner 22. testsuite.at:367
-# Category starts at test group 138.
+# Banner 22. testsuite.at:397
+# Category starts at test group 152.
 at_banner_text_22="Volume operations"
-# Banner 23. testsuite.at:371
-# Category starts at test group 140.
+# Banner 23. testsuite.at:401
+# Category starts at test group 154.
 at_banner_text_23=""
-# Banner 24. testsuite.at:380
-# Category starts at test group 146.
+# Banner 24. testsuite.at:411
+# Category starts at test group 161.
 at_banner_text_24="Removing files after archiving"
-# Banner 25. testsuite.at:404
-# Category starts at test group 168.
+# Banner 25. testsuite.at:435
+# Category starts at test group 183.
 at_banner_text_25="Extended attributes"
-# Banner 26. testsuite.at:420
-# Category starts at test group 179.
+# Banner 26. testsuite.at:451
+# Category starts at test group 194.
 at_banner_text_26="One top level"
-# Banner 27. testsuite.at:426
-# Category starts at test group 183.
+# Banner 27. testsuite.at:458
+# Category starts at test group 199.
 at_banner_text_27="Star tests"
 
 # Take any -C into account.
@@ -1389,11 +1405,11 @@ exec 5>>"$at_suite_log"
 
 # Banners and logs.
 $as_echo "## ------------------------ ##
-## GNU tar 1.28 test suite. ##
+## GNU tar 1.29 test suite. ##
 ## ------------------------ ##"
 {
   $as_echo "## ------------------------ ##
-## GNU tar 1.28 test suite. ##
+## GNU tar 1.29 test suite. ##
 ## ------------------------ ##"
   echo
 
@@ -1638,7 +1654,7 @@ IFS=$as_save_IFS
   esac
   if test -f "$at_program_"; then
     {
-      $as_echo "$at_srcdir/testsuite.at:180: $at_program_ --version"
+      $as_echo "$at_srcdir/testsuite.at:197: $at_program_ --version"
       "$at_program_" --version </dev/null
       echo
     } >&5 2>&1
@@ -2237,7 +2253,7 @@ _ASBOX
   $as_echo "Please send $at_msg and all information you think might help:
 
    To: <bug-tar@gnu.org>
-   Subject: [GNU tar 1.28] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+   Subject: [GNU tar 1.29] $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
@@ -2252,7 +2268,7 @@ exit 0
 ## Actual tests. ##
 ## ------------- ##
 #AT_START_1
-at_fn_group_banner 1 'version.at:19' \
+at_fn_group_banner 1 'version.at:20' \
   "tar version" "                                    "
 at_xfail=no
 (
@@ -2261,17 +2277,17 @@ at_xfail=no
 
 
 { set +x
-$as_echo "$at_srcdir/version.at:21: tar --version | sed 1q"
-at_fn_check_prepare_notrace 'a shell pipeline' "version.at:21"
+$as_echo "$at_srcdir/version.at:22: tar --version | sed 1q"
+at_fn_check_prepare_notrace 'a shell pipeline' "version.at:22"
 ( $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.28
+echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.29
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/version.at:21"
+at_fn_check_status 0 $at_status "$at_srcdir/version.at:22"
 if $at_failed; then :
   cat >$XFAILFILE <<'_EOT'
 
@@ -2630,7 +2646,7 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_2
 #AT_START_3
-at_fn_group_banner 3 'options.at:24' \
+at_fn_group_banner 3 'options.at:25' \
   "mixing options" "                                 "
 at_xfail=no
 (
@@ -2640,12 +2656,12 @@ at_xfail=no
 
 
 { set +x
-$as_echo "$at_srcdir/options.at:27:
+$as_echo "$at_srcdir/options.at:28:
 echo > file1
 TAR_OPTIONS=--numeric-owner tar chof archive file1
 tar tf archive
 "
-at_fn_check_prepare_notrace 'an embedded newline' "options.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "options.at:28"
 ( $at_check_trace;
 echo > file1
 TAR_OPTIONS=--numeric-owner tar chof archive file1
@@ -2658,7 +2674,7 @@ 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/options.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/options.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -2669,7 +2685,7 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_3
 #AT_START_4
-at_fn_group_banner 4 'options02.at:26' \
+at_fn_group_banner 4 'options02.at:27' \
   "interspersed options" "                           "
 at_xfail=no
 (
@@ -2679,12 +2695,12 @@ at_xfail=no
 
 
 { set +x
-$as_echo "$at_srcdir/options02.at:29:
+$as_echo "$at_srcdir/options02.at:30:
 echo > file1
 tar c file1 -f archive
 tar tf archive
 "
-at_fn_check_prepare_notrace 'an embedded newline' "options02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "options02.at:30"
 ( $at_check_trace;
 echo > file1
 tar c file1 -f archive
@@ -2697,7 +2713,7 @@ 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/options02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/options02.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -3255,8 +3271,8 @@ $at_traceon; }
 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_fn_group_banner 14 'T-recurse.at:27' \
+  "files-from & recurse: toggle" "                   " 2
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
@@ -3268,170 +3284,195 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/T-cd.at:24:
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
+$as_echo "$at_srcdir/T-recurse.at:30:
+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 *
 
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
-test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
-
->file1
-mkdir dir
->dir/file2
->dir/file3
 cat >F1 <<'_ATEOF'
-file1
--C dir
-.
+--no-recursion
+directory1/
+--recursion
+directory2/
 _ATEOF
 
-tar cf archive -T F1
-tar tf archive | sort
+
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
+
+
+cat >F2B <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+a=archive
+tar cf \"\$a\" --files-from F1
+tar tf \"\$a\"
+
+a=archive2
+tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B
+tar tf \"\$a\"
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "T-cd.at:24"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30"
 ( $at_check_trace;
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
+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 *
 
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
-test -z "`sort < /dev/null 2>&1`" || exit 77
-
->file1
-mkdir dir
->dir/file2
->dir/file3
 cat >F1 <<'_ATEOF'
-file1
--C dir
-.
+--no-recursion
+directory1/
+--recursion
+directory2/
 _ATEOF
 
-tar cf archive -T F1
-tar tf archive | sort
+
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
+
+
+cat >F2B <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+a=archive
+tar cf "$a" --files-from F1
+tar tf "$a"
+
+a=archive2
+tar cf "$a" --no-recursion -T F2A --recursion -T F2B
+tar tf "$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 "./
-./file2
-./file3
-file1
+echo >>"$at_stdout"; $as_echo "directory1/
+directory2/
+directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/T-cd.at:24"
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
+              { set +x
+$as_echo "$at_srcdir/T-recurse.at:30:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
 
+mkdir directory1 directory2
+touch directory1/file directory2/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_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
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+--recursion
+directory2/
+_ATEOF
 
 
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
 
-cat >file-list <<'_ATEOF'
-jeden
-dwa
 
-trzy
+cat >F2B <<'_ATEOF'
+directory2/
 _ATEOF
 
 
+a=archive
+tar cf \"\$a\" --files-from F1
+tar tf \"\$a\"
 
-
-  { set +x
-$as_echo "$at_srcdir/T-empty.at:36:
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
+a=archive2
+tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B
+tar tf \"\$a\"
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30"
+( $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 *
 
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
-genfile --file jeden
-genfile --file dwa
-genfile --file trzy
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+--recursion
+directory2/
+_ATEOF
 
-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 ustar"
-export TAR_OPTIONS
-rm -rf *
 
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
 
-genfile --file jeden
-genfile --file dwa
-genfile --file trzy
 
-tar cfvT archive ../file-list
+cat >F2B <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+a=archive
+tar cf "$a" --files-from F1
+tar tf "$a"
+
+a=archive2
+tar cf "$a" --no-recursion -T F2A --recursion -T F2B
+tar tf "$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 "jeden
-dwa
-trzy
+echo >>"$at_stdout"; $as_echo "directory1/
+directory2/
+directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/T-empty.at:36"
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
-
- # 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_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
-(
-  $as_echo "16. $at_setup_line: testing $at_desc ..."
-  $at_traceon
-
-
-
-
-
-  { set +x
-$as_echo "$at_srcdir/T-null.at:24:
+              { set +x
+$as_echo "$at_srcdir/T-recurse.at:30:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -3440,22 +3481,36 @@ TAR_OPTIONS=\"-H ustar\"
 export TAR_OPTIONS
 rm -rf *
 
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
-test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+--recursion
+directory2/
+_ATEOF
 
 
-echo jeden > temp
-echo dwa >> temp
-echo trzy >> temp
-cat temp | tr '\\n' '\\0' > file-list
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
 
-genfile -f jeden
-genfile -f dwa
-genfile -f trzy
 
-tar cfTv archive file-list
+cat >F2B <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+a=archive
+tar cf \"\$a\" --files-from F1
+tar tf \"\$a\"
+
+a=archive2
+tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B
+tar tf \"\$a\"
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "T-null.at:24"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -3465,215 +3520,236 @@ TAR_OPTIONS="-H ustar"
 export TAR_OPTIONS
 rm -rf *
 
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
-test -z "`sort < /dev/null 2>&1`" || exit 77
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+--recursion
+directory2/
+_ATEOF
 
 
-echo jeden > temp
-echo dwa >> temp
-echo trzy >> temp
-cat temp | tr '\n' '\0' > file-list
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
 
-genfile -f jeden
-genfile -f dwa
-genfile -f trzy
 
-tar cfTv archive file-list
+cat >F2B <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+a=archive
+tar cf "$a" --files-from F1
+tar tf "$a"
+
+a=archive2
+tar cf "$a" --no-recursion -T F2A --recursion -T F2B
+tar tf "$a"
 )
 ) >>"$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 "jeden
-dwa
-trzy
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory1/
+directory2/
+directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/T-null.at:24"
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
+              { set +x
+$as_echo "$at_srcdir/T-recurse.at:30:
+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
-
-  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
-
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+--recursion
+directory2/
+_ATEOF
 
 
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
 
-  { set +x
-$as_echo "$at_srcdir/T-zfile.at:29:
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
-export TEST_TAR_FORMAT
-TAR_OPTIONS=\"-H ustar\"
-export TAR_OPTIONS
-rm -rf *
 
-genfile --length=0 --file empty
-genfile --file a
-genfile --file b
-cat >valid <<'_ATEOF'
-a
-b
+cat >F2B <<'_ATEOF'
+directory2/
 _ATEOF
 
 
-tar cf archive -T empty -T valid
-tar tf archive
-echo \"==\"
-tar cf archive -T valid -T empty
-tar tf archive
+a=archive
+tar cf \"\$a\" --files-from F1
+tar tf \"\$a\"
+
+a=archive2
+tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B
+tar tf \"\$a\"
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "T-zfile.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30"
 ( $at_check_trace;
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
+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 *
 
-genfile --length=0 --file empty
-genfile --file a
-genfile --file b
-cat >valid <<'_ATEOF'
-a
-b
+mkdir directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+--recursion
+directory2/
 _ATEOF
 
 
-tar cf archive -T empty -T valid
-tar tf archive
-echo "=="
-tar cf archive -T valid -T empty
-tar tf archive
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
+
+
+cat >F2B <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+a=archive
+tar cf "$a" --files-from F1
+tar tf "$a"
+
+a=archive2
+tar cf "$a" --no-recursion -T F2A --recursion -T F2B
+tar tf "$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 "a
-b
-==
-a
-b
+echo >>"$at_stdout"; $as_echo "directory1/
+directory2/
+directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/T-zfile.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
+              { set +x
+$as_echo "$at_srcdir/T-recurse.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
 
- # 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_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
-
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+--recursion
+directory2/
+_ATEOF
 
 
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
 
-  { 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 ustar\"
-export TAR_OPTIONS
-rm -rf *
 
-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
+cat >F2B <<'_ATEOF'
+directory2/
 _ATEOF
 
 
-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
+a=archive
+tar cf \"\$a\" --files-from F1
+tar tf \"\$a\"
+
+a=archive2
+tar cf \"\$a\" --no-recursion -T F2A --recursion -T F2B
+tar tf \"\$a\"
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "T-nonl.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:30"
 ( $at_check_trace;
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
+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 --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
+mkdir directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+--recursion
+directory2/
 _ATEOF
 
 
-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
+cat >F2A <<'_ATEOF'
+directory1/
+_ATEOF
+
+
+cat >F2B <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+a=archive
+tar cf "$a" --files-from F1
+tar tf "$a"
+
+a=archive2
+tar cf "$a" --no-recursion -T F2A --recursion -T F2B
+tar tf "$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 "c
-d
-e
-a
-b
-==
-d
-e
-a
-b
-c
+echo >>"$at_stdout"; $as_echo "directory1/
+directory2/
+directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/T-nonl.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -3684,14 +3760,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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_STOP_14
+#AT_START_15
+at_fn_group_banner 15 'T-recurse.at:66' \
+  "toggle --recursion (not) from -T" "               " 2
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "19. $at_setup_line: testing $at_desc ..."
+  $as_echo "15. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -3699,7 +3775,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/indexfile.at:29:
+$as_echo "$at_srcdir/T-recurse.at:69:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -3708,17 +3784,25 @@ TAR_OPTIONS=\"-H v7\"
 export TAR_OPTIONS
 rm -rf *
 
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
-mkdir directory
-genfile --file=directory/a --length=1035
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
 
-echo \"Creating the archive\"
-tar -c -v -f - --index-file=idx directory > archive
 
-echo \"Testing the archive\"
-tar -tf archive
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -T F2
+tar tf archive
+
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -3728,32 +3812,39 @@ TAR_OPTIONS="-H v7"
 export TAR_OPTIONS
 rm -rf *
 
+mkdir directory1 directory2
+touch directory1/file directory2/file
 
-mkdir directory
-genfile --file=directory/a --length=1035
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
 
-echo "Creating the archive"
-tar -c -v -f - --index-file=idx directory > archive
 
-echo "Testing the archive"
-tar -tf archive
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -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 "Creating the archive
-Testing the archive
-directory/
-directory/a
+echo >>"$at_stdout"; $as_echo "directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/indexfile.at:29:
+$as_echo "$at_srcdir/T-recurse.at:69:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -3762,15 +3853,1469 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+mkdir directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_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'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -T F2
+tar tf archive
 
-echo \"Testing the archive\"
-tar -tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69"
+( $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 directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
+
+
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -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 "directory1/
+directory2/
+directory2/file
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-recurse.at:69:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
+
+
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -T F2
+tar tf archive
+
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69"
+( $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 directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
+
+
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -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 "directory1/
+directory2/
+directory2/file
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-recurse.at:69:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
+
+
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -T F2
+tar tf archive
+
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69"
+( $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 directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
+
+
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -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 "directory1/
+directory2/
+directory2/file
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-recurse.at:69:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
+
+
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -T F2
+tar tf archive
+
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "T-recurse.at:69"
+( $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 directory1 directory2
+touch directory1/file directory2/file
+
+cat >F1 <<'_ATEOF'
+--no-recursion
+directory1/
+_ATEOF
+
+
+cat >F2 <<'_ATEOF'
+directory2/
+_ATEOF
+
+
+tar cf archive -T F1 --recursion -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 "directory1/
+directory2/
+directory2/file
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-recurse.at:69"
+$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_15
+#AT_START_16
+at_fn_group_banner 16 'T-cd.at:21' \
+  "-C in file lists" "                               " 2
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "16. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { 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 ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+>file1
+mkdir dir
+>dir/file2
+>dir/file3
+cat >F1 <<'_ATEOF'
+file1
+-C dir
+.
+_ATEOF
+
+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 ustar"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+>file1
+mkdir dir
+>dir/file2
+>dir/file3
+cat >F1 <<'_ATEOF'
+file1
+-C dir
+.
+_ATEOF
+
+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_fn_check_status 0 $at_status "$at_srcdir/T-cd.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_16
+#AT_START_17
+at_fn_group_banner 17 'T-empty.at:26' \
+  "empty entries" "                                  " 2
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "17. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+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 ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile --file jeden
+genfile --file dwa
+genfile --file trzy
+
+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 ustar"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile --file jeden
+genfile --file dwa
+genfile --file trzy
+
+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_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
+
+  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-null.at:21' \
+  "0-separated file without -0" "                    " 2
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "18. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { 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 ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+
+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_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 ustar"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+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 "jeden
+dwa
+trzy
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-null.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ # 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_18
+#AT_START_19
+at_fn_group_banner 19 'T-null2.at:17' \
+  "--null enables verbatim reading" "                " 2
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "19. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+# According to the docs, --null should read each line from the file
+# list verbatim.  This feature was broken by commit 26538c9b (tar version
+# 1.27).
+
+
+
+  { set +x
+$as_echo "$at_srcdir/T-null2.at:24:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+cat >file-list <<'_ATEOF'
+a
+-b
+--c d
+_ATEOF
+
+
+genfile -f a
+genfile -f -b
+genfile -f '--c d'
+
+cat file-list | tr '\\n' '\\0' | tar -c -f archive -v --null -T -
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "T-null2.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 *
+
+cat >file-list <<'_ATEOF'
+a
+-b
+--c d
+_ATEOF
+
+
+genfile -f a
+genfile -f -b
+genfile -f '--c d'
+
+cat file-list | tr '\n' '\0' | tar -c -f archive -v --null -T -
+)
+) >>"$at_stdout" 2>>"$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
+--c d
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-null2.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ # 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_19
+#AT_START_20
+at_fn_group_banner 20 'T-zfile.at:26' \
+  "empty file" "                                     " 2
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "20. $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
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+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
+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
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+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
+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_fn_check_status 0 $at_status "$at_srcdir/T-zfile.at:29"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ # 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_20
+#AT_START_21
+at_fn_group_banner 21 'T-nonl.at:27' \
+  "entries with missing newlines" "                  " 2
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "21. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { 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 ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+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
+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 ustar"
+export TAR_OPTIONS
+rm -rf *
+
+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
+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_fn_check_status 0 $at_status "$at_srcdir/T-nonl.at:30"
+$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_21
+#AT_START_22
+at_fn_group_banner 22 'T-dir00.at:28' \
+  "recursive extraction from --files-from" "         " 2
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "22. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/T-dir00.at:30:
+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 dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-dir00.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
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-dir00.at:30:
+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 dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-dir00.at:30:
+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 dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-dir00.at:30:
+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
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir00.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir00.at:30"
+$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_22
+#AT_START_23
+at_fn_group_banner 23 'T-dir01.at:28' \
+  "trailing slash in --files-from" "                 " 2
+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/T-dir01.at:30:
+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 dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-dir01.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
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-dir01.at:30:
+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 dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-dir01.at:30:
+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 dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/T-dir01.at:30:
+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
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-dir01.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir dir
+genfile -f dir/file1
+genfile -f dir/file2
+tar cf archive dir
+rm -rf dir
+echo dir/ > list
+tar xfTv archive list | 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/file1
+dir/file2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/T-dir01.at:30"
+$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_23
+#AT_START_24
+at_fn_group_banner 24 'indexfile.at:26' \
+  "tar --index-file=FILE --file=-" "                 " 3
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "24. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/indexfile.at:29:
+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_fn_check_prepare_notrace 'an embedded newline' "indexfile.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 *
+
+
+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_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$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
+
+echo \"Testing the archive\"
+tar -tf archive
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29"
 ( $at_check_trace;
@@ -3975,14 +5520,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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' \
+#AT_STOP_24
+#AT_START_25
+at_fn_group_banner 25 'verbose.at:26' \
   "tar cvf -" "                                      " 3
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "20. $at_setup_line: testing $at_desc ..."
+  $as_echo "25. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4231,13 +5776,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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:24' \
+#AT_STOP_25
+#AT_START_26
+at_fn_group_banner 26 'gzip.at:24' \
   "gzip" "                                           " 3
 at_xfail=no
 (
-  $as_echo "21. $at_setup_line: testing $at_desc ..."
+  $as_echo "26. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4281,14 +5826,14 @@ $at_traceon; }
   $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' \
+#AT_STOP_26
+#AT_START_27
+at_fn_group_banner 27 'recurse.at:21' \
   "recurse" "                                        " 3
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "22. $at_setup_line: testing $at_desc ..."
+  $as_echo "27. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4507,14 +6052,14 @@ $at_traceon; }
   $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 'recurs02.at:30' \
+#AT_STOP_27
+#AT_START_28
+at_fn_group_banner 28 'recurs02.at:30' \
   "recurse: toggle" "                                " 3
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "23. $at_setup_line: testing $at_desc ..."
+  $as_echo "28. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4537,6 +6082,10 @@ tar --create --file archive \\
     --no-recursion directory1 \\
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \\
+    --no-recursion directory1 \\
+    --recursion directory2 || exit 1
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33"
 ( $at_check_trace;
@@ -4554,6 +6103,10 @@ tar --create --file archive \
     --no-recursion directory1 \
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \
+    --no-recursion directory1 \
+    --recursion directory2 || exit 1
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -4562,6 +6115,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory1/
 directory2/
 directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
 at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33"
@@ -4584,6 +6140,10 @@ tar --create --file archive \\
     --no-recursion directory1 \\
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \\
+    --no-recursion directory1 \\
+    --recursion directory2 || exit 1
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33"
 ( $at_check_trace;
@@ -4601,6 +6161,10 @@ tar --create --file archive \
     --no-recursion directory1 \
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \
+    --no-recursion directory1 \
+    --recursion directory2 || exit 1
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -4609,6 +6173,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory1/
 directory2/
 directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
 at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33"
@@ -4631,6 +6198,10 @@ tar --create --file archive \\
     --no-recursion directory1 \\
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \\
+    --no-recursion directory1 \\
+    --recursion directory2 || exit 1
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33"
 ( $at_check_trace;
@@ -4648,6 +6219,10 @@ tar --create --file archive \
     --no-recursion directory1 \
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \
+    --no-recursion directory1 \
+    --recursion directory2 || exit 1
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -4656,6 +6231,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory1/
 directory2/
 directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
 at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33"
@@ -4678,6 +6256,10 @@ tar --create --file archive \\
     --no-recursion directory1 \\
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \\
+    --no-recursion directory1 \\
+    --recursion directory2 || exit 1
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33"
 ( $at_check_trace;
@@ -4695,6 +6277,10 @@ tar --create --file archive \
     --no-recursion directory1 \
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \
+    --no-recursion directory1 \
+    --recursion directory2 || exit 1
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -4703,6 +6289,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory1/
 directory2/
 directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
 at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33"
@@ -4725,6 +6314,10 @@ tar --create --file archive \\
     --no-recursion directory1 \\
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \\
+    --no-recursion directory1 \\
+    --recursion directory2 || exit 1
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "recurs02.at:33"
 ( $at_check_trace;
@@ -4742,6 +6335,10 @@ tar --create --file archive \
     --no-recursion directory1 \
     --recursion directory2 || exit 1
 tar tf archive
+tar cf archive directory1 directory2
+tar tf archive \
+    --no-recursion directory1 \
+    --recursion directory2 || exit 1
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -4750,6 +6347,9 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory1/
 directory2/
 directory2/file
+directory1/
+directory2/
+directory2/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
 at_fn_check_status 0 $at_status "$at_srcdir/recurs02.at:33"
@@ -4763,14 +6363,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'shortrec.at:25' \
+#AT_STOP_28
+#AT_START_29
+at_fn_group_banner 29 'shortrec.at:26' \
   "short records" "                                  " 3
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "24. $at_setup_line: testing $at_desc ..."
+  $as_echo "29. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4778,7 +6378,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/shortrec.at:28:
+$as_echo "$at_srcdir/shortrec.at:29:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -4796,7 +6396,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -4820,12 +6420,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/shortrec.at:28:
+$as_echo "$at_srcdir/shortrec.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -4843,7 +6443,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -4867,12 +6467,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/shortrec.at:28:
+$as_echo "$at_srcdir/shortrec.at:29:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -4890,7 +6490,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -4914,12 +6514,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/shortrec.at:28:
+$as_echo "$at_srcdir/shortrec.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -4937,7 +6537,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -4961,12 +6561,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/shortrec.at:28:
+$as_echo "$at_srcdir/shortrec.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -4984,7 +6584,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -5008,7 +6608,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -5019,22 +6619,24 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'iotty.at:26' \
-  "terminal input" "                                 " 3
+#AT_STOP_29
+#AT_START_30
+at_fn_group_banner 30 'numeric.at:18' \
+  "--numeric-owner basic tests" "                    " 3
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "25. $at_setup_line: testing $at_desc ..."
+  $as_echo "30. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
 
 
 
+
+
   { set +x
-$as_echo "$at_srcdir/iotty.at:29:
+$as_echo "$at_srcdir/numeric.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -5043,17 +6645,36 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
-test -x \$abs_builddir/ttyemu || exit 77
-TAPE=-
-export TAPE
-ttyemu -t5 -i/dev/null tar -x
-echo \$?
-ttyemu -t5 -i/dev/null tar -xz
-echo \$?
-ttyemu -t5 -i/dev/null tar -c .
-echo \$?
+mkdir dir
+genfile --file dir/file
+
+MYUID=\$(id -u) || exit 77
+MYGID=\$(id -g) || exit 77
+MYUSR=\$(id -un) || exit 77
+MYGRP=\$(id -gn) || exit 77
+
+
+decho --create
+tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --create -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --list
+tar --list -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --list -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --diff
+tar --diff -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --diff -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --extract
+tar --extract -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --extract -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "iotty.at:29"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "numeric.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -5063,37 +6684,72 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
-test -x $abs_builddir/ttyemu || exit 77
-TAPE=-
-export TAPE
-ttyemu -t5 -i/dev/null tar -x
-echo $?
-ttyemu -t5 -i/dev/null tar -xz
-echo $?
-ttyemu -t5 -i/dev/null tar -c .
-echo $?
+mkdir dir
+genfile --file dir/file
+
+MYUID=$(id -u) || exit 77
+MYGID=$(id -g) || exit 77
+MYUSR=$(id -un) || exit 77
+MYGRP=$(id -gn) || exit 77
+
+
+decho --create
+tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --create -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --list
+tar --list -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --list -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --diff
+tar --diff -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --diff -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --extract
+tar --extract -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --extract -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
 )
 ) >>"$at_stdout" 2>>"$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: Refusing to read archive contents from terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
-tar: Refusing to read archive contents from terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
-tar: Refusing to write archive contents to terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
+echo >>"$at_stderr"; $as_echo "--create
+--list
+--diff
+--extract
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "--create
+OK
+OK
+OK
+OK
+--list
+OK
+OK
+OK
+OK
+--diff
+OK
+OK
+OK
+OK
+--extract
+OK
+OK
+OK
+OK
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/iotty.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/numeric.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/iotty.at:29:
+$as_echo "$at_srcdir/numeric.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -5102,17 +6758,36 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
-test -x \$abs_builddir/ttyemu || exit 77
-TAPE=-
-export TAPE
-ttyemu -t5 -i/dev/null tar -x
-echo \$?
-ttyemu -t5 -i/dev/null tar -xz
-echo \$?
-ttyemu -t5 -i/dev/null tar -c .
-echo \$?
+mkdir dir
+genfile --file dir/file
+
+MYUID=\$(id -u) || exit 77
+MYGID=\$(id -g) || exit 77
+MYUSR=\$(id -un) || exit 77
+MYGRP=\$(id -gn) || exit 77
+
+
+decho --create
+tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --create -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --list
+tar --list -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --list -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --diff
+tar --diff -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --diff -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --extract
+tar --extract -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --extract -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "iotty.at:29"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "numeric.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -5122,37 +6797,185 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
-test -x $abs_builddir/ttyemu || exit 77
-TAPE=-
-export TAPE
-ttyemu -t5 -i/dev/null tar -x
-echo $?
-ttyemu -t5 -i/dev/null tar -xz
-echo $?
-ttyemu -t5 -i/dev/null tar -c .
-echo $?
+mkdir dir
+genfile --file dir/file
+
+MYUID=$(id -u) || exit 77
+MYGID=$(id -g) || exit 77
+MYUSR=$(id -un) || exit 77
+MYGRP=$(id -gn) || exit 77
+
+
+decho --create
+tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --create -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --list
+tar --list -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --list -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --diff
+tar --diff -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --diff -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --extract
+tar --extract -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --extract -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
 )
 ) >>"$at_stdout" 2>>"$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: Refusing to read archive contents from terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
-tar: Refusing to read archive contents from terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
-tar: Refusing to write archive contents to terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
+echo >>"$at_stderr"; $as_echo "--create
+--list
+--diff
+--extract
 " | \
-  $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/iotty.at:29"
-$at_failed && at_fn_log_failure
-$at_traceon; }
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "--create
+OK
+OK
+OK
+OK
+--list
+OK
+OK
+OK
+OK
+--diff
+OK
+OK
+OK
+OK
+--extract
+OK
+OK
+OK
+OK
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/numeric.at:29"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/numeric.at:29:
+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/iotty.at:29:
+mkdir dir
+genfile --file dir/file
+
+MYUID=\$(id -u) || exit 77
+MYGID=\$(id -g) || exit 77
+MYUSR=\$(id -un) || exit 77
+MYGRP=\$(id -gn) || exit 77
+
+
+decho --create
+tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --create -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --list
+tar --list -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --list -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --diff
+tar --diff -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --diff -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --extract
+tar --extract -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --extract -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+)"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "numeric.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 *
+
+mkdir dir
+genfile --file dir/file
+
+MYUID=$(id -u) || exit 77
+MYGID=$(id -g) || exit 77
+MYUSR=$(id -un) || exit 77
+MYGRP=$(id -gn) || exit 77
+
+
+decho --create
+tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --create -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --list
+tar --list -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --list -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --diff
+tar --diff -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --diff -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --extract
+tar --extract -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --extract -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "--create
+--list
+--diff
+--extract
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "--create
+OK
+OK
+OK
+OK
+--list
+OK
+OK
+OK
+OK
+--diff
+OK
+OK
+OK
+OK
+--extract
+OK
+OK
+OK
+OK
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/numeric.at:29"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/numeric.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -5161,17 +6984,36 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
-test -x \$abs_builddir/ttyemu || exit 77
-TAPE=-
-export TAPE
-ttyemu -t5 -i/dev/null tar -x
-echo \$?
-ttyemu -t5 -i/dev/null tar -xz
-echo \$?
-ttyemu -t5 -i/dev/null tar -c .
-echo \$?
+mkdir dir
+genfile --file dir/file
+
+MYUID=\$(id -u) || exit 77
+MYGID=\$(id -g) || exit 77
+MYUSR=\$(id -un) || exit 77
+MYGRP=\$(id -gn) || exit 77
+
+
+decho --create
+tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --create -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --list
+tar --list -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --list -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --diff
+tar --diff -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --diff -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
+
+decho --extract
+tar --extract -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
+tar --extract -vvf a dir | awk '$2==\"'\"\$MYUSR/\$MYGRP\"'\" {print \"OK\"; next} {print}'
+
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "iotty.at:29"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "numeric.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -5181,32 +7023,67 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
-test -x $abs_builddir/ttyemu || exit 77
-TAPE=-
-export TAPE
-ttyemu -t5 -i/dev/null tar -x
-echo $?
-ttyemu -t5 -i/dev/null tar -xz
-echo $?
-ttyemu -t5 -i/dev/null tar -c .
-echo $?
+mkdir dir
+genfile --file dir/file
+
+MYUID=$(id -u) || exit 77
+MYGID=$(id -g) || exit 77
+MYUSR=$(id -un) || exit 77
+MYGRP=$(id -gn) || exit 77
+
+
+decho --create
+tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --create -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --list
+tar --list -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --list -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --diff
+tar --diff -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --diff -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
+
+decho --extract
+tar --extract -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
+tar --extract -vvf a dir | awk '$2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'
+
 )
 ) >>"$at_stdout" 2>>"$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: Refusing to read archive contents from terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
-tar: Refusing to read archive contents from terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
-tar: Refusing to write archive contents to terminal (missing -f option?)
-tar: Error is not recoverable: exiting now
-2
+echo >>"$at_stderr"; $as_echo "--create
+--list
+--diff
+--extract
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "--create
+OK
+OK
+OK
+OK
+--list
+OK
+OK
+OK
+OK
+--diff
+OK
+OK
+OK
+OK
+--extract
+OK
+OK
+OK
+OK
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/iotty.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/numeric.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -5217,14 +7094,14 @@ $at_traceon; }
   $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 'same-order01.at:26' \
+#AT_STOP_30
+#AT_START_31
+at_fn_group_banner 31 'same-order01.at:27' \
   "working -C with --same-order" "                   " 4
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "26. $at_setup_line: testing $at_desc ..."
+  $as_echo "31. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5232,7 +7109,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/same-order01.at:29:
+$as_echo "$at_srcdir/same-order01.at:30:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -5254,7 +7131,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -5285,12 +7162,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order01.at:29:
+$as_echo "$at_srcdir/same-order01.at:30:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -5312,7 +7189,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -5343,12 +7220,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order01.at:29:
+$as_echo "$at_srcdir/same-order01.at:30:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -5370,7 +7247,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -5401,12 +7278,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order01.at:29:
+$as_echo "$at_srcdir/same-order01.at:30:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -5428,7 +7305,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -5459,12 +7336,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order01.at:29:
+$as_echo "$at_srcdir/same-order01.at:30:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -5486,7 +7363,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -5517,7 +7394,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -5528,14 +7405,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'same-order02.at:25' \
+#AT_STOP_31
+#AT_START_32
+at_fn_group_banner 32 'same-order02.at:26' \
   "multiple -C options" "                            " 4
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "27. $at_setup_line: testing $at_desc ..."
+  $as_echo "32. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5543,7 +7420,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/same-order02.at:28:
+$as_echo "$at_srcdir/same-order02.at:29:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -5568,7 +7445,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -5603,12 +7480,12 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order02.at:28:
+$as_echo "$at_srcdir/same-order02.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -5633,7 +7510,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -5668,12 +7545,12 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order02.at:28:
+$as_echo "$at_srcdir/same-order02.at:29:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -5698,7 +7575,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -5733,12 +7610,12 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order02.at:28:
+$as_echo "$at_srcdir/same-order02.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -5763,7 +7640,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -5798,12 +7675,12 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order02.at:28:
+$as_echo "$at_srcdir/same-order02.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -5828,7 +7705,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -5863,7 +7740,7 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -5874,14 +7751,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'append.at:21' \
+#AT_STOP_32
+#AT_START_33
+at_fn_group_banner 33 'append.at:22' \
   "append" "                                         " 5
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "28. $at_setup_line: testing $at_desc ..."
+  $as_echo "33. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5889,7 +7766,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/append.at:24:
+$as_echo "$at_srcdir/append.at:25:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -5902,7 +7779,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -5924,12 +7801,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append.at:24:
+$as_echo "$at_srcdir/append.at:25:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -5942,7 +7819,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -5964,12 +7841,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append.at:24:
+$as_echo "$at_srcdir/append.at:25:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -5982,7 +7859,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -6004,12 +7881,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append.at:24:
+$as_echo "$at_srcdir/append.at:25:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -6022,7 +7899,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -6044,12 +7921,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append.at:24:
+$as_echo "$at_srcdir/append.at:25:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -6062,7 +7939,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -6084,7 +7961,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -6095,14 +7972,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'append01.at:29' \
+#AT_STOP_33
+#AT_START_34
+at_fn_group_banner 34 'append01.at:29' \
   "appending files with long names" "                " 5
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "29. $at_setup_line: testing $at_desc ..."
+  $as_echo "34. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -6295,14 +8172,14 @@ $at_traceon; }
   $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 'append02.at:54' \
+#AT_STOP_34
+#AT_START_35
+at_fn_group_banner 35 'append02.at:55' \
   "append vs. create" "                              " 5
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "30. $at_setup_line: testing $at_desc ..."
+  $as_echo "35. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -6310,7 +8187,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/append02.at:57:
+$as_echo "$at_srcdir/append02.at:58:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -6342,7 +8219,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -6384,12 +8261,12 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append02.at:57:
+$as_echo "$at_srcdir/append02.at:58:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -6421,7 +8298,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -6463,12 +8340,12 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append02.at:57:
+$as_echo "$at_srcdir/append02.at:58:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -6500,7 +8377,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -6542,12 +8419,12 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append02.at:57:
+$as_echo "$at_srcdir/append02.at:58:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -6579,7 +8456,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -6621,12 +8498,12 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append02.at:57:
+$as_echo "$at_srcdir/append02.at:58:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -6658,7 +8535,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -6700,7 +8577,7 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -6711,14 +8588,14 @@ $at_traceon; }
   $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 'append03.at:21' \
+#AT_STOP_35
+#AT_START_36
+at_fn_group_banner 36 'append03.at:21' \
   "append with name transformation" "                " 5
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "31. $at_setup_line: testing $at_desc ..."
+  $as_echo "36. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -7004,14 +8881,14 @@ $at_traceon; }
   $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 'append04.at:29' \
+#AT_STOP_36
+#AT_START_37
+at_fn_group_banner 37 'append04.at:29' \
   "append with verify" "                             " 5
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "32. $at_setup_line: testing $at_desc ..."
+  $as_echo "37. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -7091,7 +8968,422 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append04.at:32:
+$as_echo "$at_srcdir/append04.at:32:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+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_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 *
+
+# 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_fn_check_status 0 $at_status "$at_srcdir/append04.at:32"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { 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 *
+
+# 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_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_fn_check_status 0 $at_status "$at_srcdir/append04.at:32"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/append04.at:32:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+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_fn_check_prepare_notrace 'an embedded newline' "append04.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 *
+
+# 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_fn_check_status 0 $at_status "$at_srcdir/append04.at:32"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { 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 *
+
+# 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_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 gnu"
+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_fn_check_status 0 $at_status "$at_srcdir/append04.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_37
+#AT_START_38
+at_fn_group_banner 38 'append05.at:32' \
+  "append after changed blocking" "                  " 5
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "38. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/append05.at:35:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+for f in a b c d e f g h i
+do
+  echo \$f > \$f
+done
+
+decho 'creating archive'
+tar -cf archive -b1 a b c
+
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
+echo ==
+tar tf archive
+
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
+
+decho 'resulting archive'
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35"
+( $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 f in a b c d e f g h i
+do
+  echo $f > $f
+done
+
+decho 'creating archive'
+tar -cf archive -b1 a b c
+
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
+echo ==
+tar tf archive
+
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
+
+decho 'resulting archive'
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "creating archive
+adding d e f
+adding g h i
+resulting archive
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating archive
+a
+b
+c
+adding d e f
+d
+e
+f
+==
+a
+b
+c
+d
+e
+f
+adding g h i
+g
+h
+i
+resulting archive
+a
+b
+c
+d
+e
+f
+g
+h
+i
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/append05.at:35:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -7100,25 +9392,28 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
-# Create two empty files:
-touch file1 file2
+for f in a b c d e f g h i
+do
+  echo \$f > \$f
+done
 
-# Create an archive:
-tar cpfW archive.tar file1 file2
+decho 'creating archive'
+tar -cf archive -b1 a b c
 
-# Verify created archive by listing its content:
-tar -tf archive.tar
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
 echo ==
-# Create another empty file:
-touch file3
+tar tf archive
 
-# Append it to the already created archive:
-tar rpfW archive.tar file3
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
 
-# Verify content of the new archive:
-tar -tf archive.tar
+decho 'resulting archive'
+tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -7128,42 +9423,73 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
-# Create two empty files:
-touch file1 file2
+for f in a b c d e f g h i
+do
+  echo $f > $f
+done
 
-# Create an archive:
-tar cpfW archive.tar file1 file2
+decho 'creating archive'
+tar -cf archive -b1 a b c
 
-# Verify created archive by listing its content:
-tar -tf archive.tar
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
 echo ==
-# Create another empty file:
-touch file3
+tar tf archive
 
-# Append it to the already created archive:
-tar rpfW archive.tar file3
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
 
-# Verify content of the new archive:
-tar -tf archive.tar
+decho 'resulting 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 "file1
-file2
+echo >>"$at_stderr"; $as_echo "creating archive
+adding d e f
+adding g h i
+resulting archive
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating archive
+a
+b
+c
+adding d e f
+d
+e
+f
 ==
-file1
-file2
-file3
+a
+b
+c
+d
+e
+f
+adding g h i
+g
+h
+i
+resulting archive
+a
+b
+c
+d
+e
+f
+g
+h
+i
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append04.at:32:
+$as_echo "$at_srcdir/append05.at:35:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -7172,25 +9498,28 @@ TAR_OPTIONS=\"-H ustar\"
 export TAR_OPTIONS
 rm -rf *
 
-# Create two empty files:
-touch file1 file2
+for f in a b c d e f g h i
+do
+  echo \$f > \$f
+done
 
-# Create an archive:
-tar cpfW archive.tar file1 file2
+decho 'creating archive'
+tar -cf archive -b1 a b c
 
-# Verify created archive by listing its content:
-tar -tf archive.tar
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
 echo ==
-# Create another empty file:
-touch file3
+tar tf archive
 
-# Append it to the already created archive:
-tar rpfW archive.tar file3
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
 
-# Verify content of the new archive:
-tar -tf archive.tar
+decho 'resulting archive'
+tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -7200,42 +9529,73 @@ TAR_OPTIONS="-H ustar"
 export TAR_OPTIONS
 rm -rf *
 
-# Create two empty files:
-touch file1 file2
+for f in a b c d e f g h i
+do
+  echo $f > $f
+done
 
-# Create an archive:
-tar cpfW archive.tar file1 file2
+decho 'creating archive'
+tar -cf archive -b1 a b c
 
-# Verify created archive by listing its content:
-tar -tf archive.tar
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
 echo ==
-# Create another empty file:
-touch file3
+tar tf archive
 
-# Append it to the already created archive:
-tar rpfW archive.tar file3
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
 
-# Verify content of the new archive:
-tar -tf archive.tar
+decho 'resulting 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 "file1
-file2
+echo >>"$at_stderr"; $as_echo "creating archive
+adding d e f
+adding g h i
+resulting archive
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating archive
+a
+b
+c
+adding d e f
+d
+e
+f
 ==
-file1
-file2
-file3
+a
+b
+c
+d
+e
+f
+adding g h i
+g
+h
+i
+resulting archive
+a
+b
+c
+d
+e
+f
+g
+h
+i
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append04.at:32:
+$as_echo "$at_srcdir/append05.at:35:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -7244,25 +9604,28 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
-# Create two empty files:
-touch file1 file2
+for f in a b c d e f g h i
+do
+  echo \$f > \$f
+done
 
-# Create an archive:
-tar cpfW archive.tar file1 file2
+decho 'creating archive'
+tar -cf archive -b1 a b c
 
-# Verify created archive by listing its content:
-tar -tf archive.tar
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
 echo ==
-# Create another empty file:
-touch file3
+tar tf archive
 
-# Append it to the already created archive:
-tar rpfW archive.tar file3
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
 
-# Verify content of the new archive:
-tar -tf archive.tar
+decho 'resulting archive'
+tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -7272,42 +9635,73 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
-# Create two empty files:
-touch file1 file2
+for f in a b c d e f g h i
+do
+  echo $f > $f
+done
 
-# Create an archive:
-tar cpfW archive.tar file1 file2
+decho 'creating archive'
+tar -cf archive -b1 a b c
 
-# Verify created archive by listing its content:
-tar -tf archive.tar
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
 echo ==
-# Create another empty file:
-touch file3
+tar tf archive
 
-# Append it to the already created archive:
-tar rpfW archive.tar file3
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
 
-# Verify content of the new archive:
-tar -tf archive.tar
+decho 'resulting 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 "file1
-file2
+echo >>"$at_stderr"; $as_echo "creating archive
+adding d e f
+adding g h i
+resulting archive
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating archive
+a
+b
+c
+adding d e f
+d
+e
+f
 ==
-file1
-file2
-file3
+a
+b
+c
+d
+e
+f
+adding g h i
+g
+h
+i
+resulting archive
+a
+b
+c
+d
+e
+f
+g
+h
+i
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append04.at:32:
+$as_echo "$at_srcdir/append05.at:35:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -7316,25 +9710,28 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
-# Create two empty files:
-touch file1 file2
+for f in a b c d e f g h i
+do
+  echo \$f > \$f
+done
 
-# Create an archive:
-tar cpfW archive.tar file1 file2
+decho 'creating archive'
+tar -cf archive -b1 a b c
 
-# Verify created archive by listing its content:
-tar -tf archive.tar
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
 echo ==
-# Create another empty file:
-touch file3
+tar tf archive
 
-# Append it to the already created archive:
-tar rpfW archive.tar file3
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
 
-# Verify content of the new archive:
-tar -tf archive.tar
+decho 'resulting archive'
+tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "append05.at:35"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -7344,37 +9741,68 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
-# Create two empty files:
-touch file1 file2
+for f in a b c d e f g h i
+do
+  echo $f > $f
+done
 
-# Create an archive:
-tar cpfW archive.tar file1 file2
+decho 'creating archive'
+tar -cf archive -b1 a b c
 
-# Verify created archive by listing its content:
-tar -tf archive.tar
+tar tf archive
+
+decho 'adding d e f'
+tar -vrf archive -b3 d e f
 echo ==
-# Create another empty file:
-touch file3
+tar tf archive
 
-# Append it to the already created archive:
-tar rpfW archive.tar file3
+decho 'adding g h i'
+tar -vrf archive -b5 g h i
 
-# Verify content of the new archive:
-tar -tf archive.tar
+decho 'resulting 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 "file1
-file2
+echo >>"$at_stderr"; $as_echo "creating archive
+adding d e f
+adding g h i
+resulting archive
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating archive
+a
+b
+c
+adding d e f
+d
+e
+f
 ==
-file1
-file2
-file3
+a
+b
+c
+d
+e
+f
+adding g h i
+g
+h
+i
+resulting archive
+a
+b
+c
+d
+e
+f
+g
+h
+i
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/append05.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -7385,14 +9813,14 @@ $at_traceon; }
   $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 'xform-h.at:30' \
+#AT_STOP_38
+#AT_START_39
+at_fn_group_banner 39 'xform-h.at:30' \
   "transforming hard links on create" "              " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "33. $at_setup_line: testing $at_desc ..."
+  $as_echo "39. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -7790,14 +10218,14 @@ $at_traceon; }
   $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 'xform01.at:26' \
+#AT_STOP_39
+#AT_START_40
+at_fn_group_banner 40 'xform01.at:26' \
   "transformations and GNU volume labels" "          " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "34. $at_setup_line: testing $at_desc ..."
+  $as_echo "40. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -7851,14 +10279,240 @@ $at_traceon; }
   $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 'exclude.at:23' \
+#AT_STOP_40
+#AT_START_41
+at_fn_group_banner 41 'xform02.at:21' \
+  "transforming escaped delimiters on create" "      " 6
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "41. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/xform02.at:24:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file
+tar cvf /dev/null file \\
+   --transform='s/file/other\\/name/' \\
+   --show-transformed-name
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "xform02.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 *
+
+genfile --file file
+tar cvf /dev/null file \
+   --transform='s/file/other\/name/' \
+   --show-transformed-name
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "other/name
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/xform02.at:24:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file
+tar cvf /dev/null file \\
+   --transform='s/file/other\\/name/' \\
+   --show-transformed-name
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "xform02.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 --file file
+tar cvf /dev/null file \
+   --transform='s/file/other\/name/' \
+   --show-transformed-name
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "other/name
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/xform02.at:24:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file
+tar cvf /dev/null file \\
+   --transform='s/file/other\\/name/' \\
+   --show-transformed-name
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "xform02.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 *
+
+genfile --file file
+tar cvf /dev/null file \
+   --transform='s/file/other\/name/' \
+   --show-transformed-name
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "other/name
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/xform02.at:24:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file
+tar cvf /dev/null file \\
+   --transform='s/file/other\\/name/' \\
+   --show-transformed-name
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "xform02.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 --file file
+tar cvf /dev/null file \
+   --transform='s/file/other\/name/' \
+   --show-transformed-name
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "other/name
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform02.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/xform02.at:24:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file
+tar cvf /dev/null file \\
+   --transform='s/file/other\\/name/' \\
+   --show-transformed-name
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "xform02.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 --file file
+tar cvf /dev/null file \
+   --transform='s/file/other\/name/' \
+   --show-transformed-name
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "other/name
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform02.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_41
+#AT_START_42
+at_fn_group_banner 42 'exclude.at:23' \
   "exclude" "                                        " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "35. $at_setup_line: testing $at_desc ..."
+  $as_echo "42. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -8068,14 +10722,14 @@ $at_traceon; }
   $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 'exclude01.at:19' \
+#AT_STOP_42
+#AT_START_43
+at_fn_group_banner 43 'exclude01.at:19' \
   "exclude wildcards" "                              " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "36. $at_setup_line: testing $at_desc ..."
+  $as_echo "43. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -8649,14 +11303,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'exclude02.at:19' \
+#AT_STOP_43
+#AT_START_44
+at_fn_group_banner 44 'exclude02.at:19' \
   "exclude: anchoring" "                             " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "37. $at_setup_line: testing $at_desc ..."
+  $as_echo "44. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -9290,14 +11944,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'exclude03.at:19' \
+#AT_STOP_44
+#AT_START_45
+at_fn_group_banner 45 'exclude03.at:19' \
   "exclude: wildcards match slash" "                 " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "38. $at_setup_line: testing $at_desc ..."
+  $as_echo "45. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -9891,14 +12545,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'exclude04.at:19' \
+#AT_STOP_45
+#AT_START_46
+at_fn_group_banner 46 'exclude04.at:19' \
   "exclude: case insensitive" "                      " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "39. $at_setup_line: testing $at_desc ..."
+  $as_echo "46. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -10507,14 +13161,14 @@ $at_traceon; }
   $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 'exclude05.at:21' \
+#AT_STOP_46
+#AT_START_47
+at_fn_group_banner 47 'exclude05.at:21' \
   "exclude: lots of excludes" "                      " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "40. $at_setup_line: testing $at_desc ..."
+  $as_echo "47. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -10983,14 +13637,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'exclude06.at:26' \
+#AT_STOP_47
+#AT_START_48
+at_fn_group_banner 48 'exclude06.at:26' \
   "exclude: long files in pax archives" "            " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "41. $at_setup_line: testing $at_desc ..."
+  $as_echo "48. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -11058,14 +13712,14 @@ $at_traceon; }
   $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 'exclude07.at:19' \
+#AT_STOP_48
+#AT_START_49
+at_fn_group_banner 49 'exclude07.at:19' \
   "exclude: --exclude-backups option" "              " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "42. $at_setup_line: testing $at_desc ..."
+  $as_echo "49. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -11319,14 +13973,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'exclude08.at:36' \
+#AT_STOP_49
+#AT_START_50
+at_fn_group_banner 50 'exclude08.at:36' \
   "--exclude-tag option" "                           " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "43. $at_setup_line: testing $at_desc ..."
+  $as_echo "50. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -11580,14 +14234,14 @@ $at_traceon; }
   $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 'exclude09.at:37' \
+#AT_STOP_50
+#AT_START_51
+at_fn_group_banner 51 'exclude09.at:37' \
   "--exclude-tag option and --listed-incremental" "  " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "44. $at_setup_line: testing $at_desc ..."
+  $as_echo "51. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -11651,14 +14305,14 @@ $at_traceon; }
   $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 'exclude10.at:38' \
+#AT_STOP_51
+#AT_START_52
+at_fn_group_banner 52 'exclude10.at:38' \
   "--exclude-tag option in incremental pass" "       " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "45. $at_setup_line: testing $at_desc ..."
+  $as_echo "52. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -11745,14 +14399,14 @@ $at_traceon; }
   $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 'exclude11.at:36' \
+#AT_STOP_52
+#AT_START_53
+at_fn_group_banner 53 'exclude11.at:36' \
   "--exclude-tag-under option" "                     " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "46. $at_setup_line: testing $at_desc ..."
+  $as_echo "53. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12001,14 +14655,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'exclude12.at:37' \
+#AT_STOP_53
+#AT_START_54
+at_fn_group_banner 54 'exclude12.at:37' \
   "--exclude-tag-under and --listed-incremental" "   " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "47. $at_setup_line: testing $at_desc ..."
+  $as_echo "54. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12071,14 +14725,14 @@ $at_traceon; }
   $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 'exclude13.at:39' \
+#AT_STOP_54
+#AT_START_55
+at_fn_group_banner 55 'exclude13.at:39' \
   "--exclude-tag-under option in incremental pass" " " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "48. $at_setup_line: testing $at_desc ..."
+  $as_echo "55. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12164,14 +14818,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'exclude14.at:36' \
+#AT_STOP_55
+#AT_START_56
+at_fn_group_banner 56 'exclude14.at:36' \
   "--exclude-tag-all option" "                       " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "49. $at_setup_line: testing $at_desc ..."
+  $as_echo "56. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12415,14 +15069,14 @@ $at_traceon; }
   $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 'exclude15.at:36' \
+#AT_STOP_56
+#AT_START_57
+at_fn_group_banner 57 'exclude15.at:36' \
   "--exclude-tag-all and --listed-incremental" "     " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "50. $at_setup_line: testing $at_desc ..."
+  $as_echo "57. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12484,14 +15138,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'exclude16.at:38' \
+#AT_STOP_57
+#AT_START_58
+at_fn_group_banner 58 'exclude16.at:38' \
   "--exclude-tag-all option in incremental pass" "   " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "51. $at_setup_line: testing $at_desc ..."
+  $as_echo "58. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12576,14 +15230,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'delete01.at:23' \
+#AT_STOP_58
+#AT_START_59
+at_fn_group_banner 59 'delete01.at:24' \
   "deleting a member after a big one" "              " 8
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "52. $at_setup_line: testing $at_desc ..."
+  $as_echo "59. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12591,7 +15245,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete01.at:26:
+$as_echo "$at_srcdir/delete01.at:27:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -12605,7 +15259,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -12627,12 +15281,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete01.at:26:
+$as_echo "$at_srcdir/delete01.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -12646,7 +15300,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -12668,12 +15322,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete01.at:26:
+$as_echo "$at_srcdir/delete01.at:27:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -12687,7 +15341,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -12709,12 +15363,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete01.at:26:
+$as_echo "$at_srcdir/delete01.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -12728,7 +15382,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -12750,12 +15404,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete01.at:26:
+$as_echo "$at_srcdir/delete01.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -12769,7 +15423,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -12791,7 +15445,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -12802,14 +15456,14 @@ $at_traceon; }
   $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 'delete02.at:23' \
+#AT_STOP_59
+#AT_START_60
+at_fn_group_banner 60 'delete02.at:24' \
   "deleting a member from stdin archive" "           " 8
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "53. $at_setup_line: testing $at_desc ..."
+  $as_echo "60. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12817,7 +15471,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete02.at:26:
+$as_echo "$at_srcdir/delete02.at:27:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -12834,7 +15488,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -12864,12 +15518,12 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete02.at:26:
+$as_echo "$at_srcdir/delete02.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -12886,7 +15540,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -12916,12 +15570,12 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete02.at:26:
+$as_echo "$at_srcdir/delete02.at:27:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -12938,7 +15592,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -12968,12 +15622,12 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete02.at:26:
+$as_echo "$at_srcdir/delete02.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -12990,7 +15644,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -13020,12 +15674,12 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete02.at:26:
+$as_echo "$at_srcdir/delete02.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -13042,7 +15696,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -13072,7 +15726,7 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -13083,14 +15737,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'delete03.at:21' \
+#AT_STOP_60
+#AT_START_61
+at_fn_group_banner 61 'delete03.at:21' \
   "deleting members with long names" "               " 8
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "54. $at_setup_line: testing $at_desc ..."
+  $as_echo "61. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -13281,14 +15935,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'delete04.at:23' \
+#AT_STOP_61
+#AT_START_62
+at_fn_group_banner 62 'delete04.at:24' \
   "deleting a large last member" "                   " 8
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "55. $at_setup_line: testing $at_desc ..."
+  $as_echo "62. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -13296,7 +15950,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete04.at:26:
+$as_echo "$at_srcdir/delete04.at:27:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -13319,7 +15973,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -13358,12 +16012,12 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete04.at:26:
+$as_echo "$at_srcdir/delete04.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -13386,7 +16040,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -13425,12 +16079,12 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete04.at:26:
+$as_echo "$at_srcdir/delete04.at:27:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -13453,7 +16107,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -13492,12 +16146,12 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete04.at:26:
+$as_echo "$at_srcdir/delete04.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -13520,7 +16174,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -13559,12 +16213,12 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete04.at:26:
+$as_echo "$at_srcdir/delete04.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -13587,7 +16241,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -13626,7 +16280,7 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -13637,14 +16291,14 @@ $at_traceon; }
   $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 'delete05.at:27' \
+#AT_STOP_62
+#AT_START_63
+at_fn_group_banner 63 'delete05.at:28' \
   "deleting non-existing member" "                   " 8
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "56. $at_setup_line: testing $at_desc ..."
+  $as_echo "63. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -13652,7 +16306,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete05.at:30:
+$as_echo "$at_srcdir/delete05.at:31:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -13670,7 +16324,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -13700,12 +16354,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete05.at:30:
+$as_echo "$at_srcdir/delete05.at:31:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -13723,7 +16377,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -13753,12 +16407,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete05.at:30:
+$as_echo "$at_srcdir/delete05.at:31:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -13776,7 +16430,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -13806,12 +16460,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete05.at:30:
+$as_echo "$at_srcdir/delete05.at:31:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -13829,7 +16483,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -13859,12 +16513,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete05.at:30:
+$as_echo "$at_srcdir/delete05.at:31:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -13882,7 +16536,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -13912,7 +16566,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -13923,14 +16577,14 @@ $at_traceon; }
   $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 'extrac01.at:23' \
+#AT_STOP_63
+#AT_START_64
+at_fn_group_banner 64 'extrac01.at:24' \
   "extract over an existing directory" "             " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "57. $at_setup_line: testing $at_desc ..."
+  $as_echo "64. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -13938,7 +16592,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac01.at:26:
+$as_echo "$at_srcdir/extrac01.at:27:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -13952,7 +16606,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -13972,12 +16626,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac01.at:26:
+$as_echo "$at_srcdir/extrac01.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -13991,7 +16645,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -14011,12 +16665,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac01.at:26:
+$as_echo "$at_srcdir/extrac01.at:27:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -14030,7 +16684,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -14050,12 +16704,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac01.at:26:
+$as_echo "$at_srcdir/extrac01.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -14069,7 +16723,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -14089,12 +16743,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac01.at:26:
+$as_echo "$at_srcdir/extrac01.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -14108,7 +16762,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -14128,7 +16782,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -14139,14 +16793,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac02.at:23' \
+#AT_STOP_64
+#AT_START_65
+at_fn_group_banner 65 'extrac02.at:24' \
   "extracting symlinks over an existing file" "      " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "58. $at_setup_line: testing $at_desc ..."
+  $as_echo "65. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -14156,7 +16810,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac02.at:28:
+$as_echo "$at_srcdir/extrac02.at:29:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -14172,7 +16826,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -14194,12 +16848,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac02.at:28:
+$as_echo "$at_srcdir/extrac02.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -14215,7 +16869,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -14237,12 +16891,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac02.at:28:
+$as_echo "$at_srcdir/extrac02.at:29:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -14258,7 +16912,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -14280,12 +16934,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac02.at:28:
+$as_echo "$at_srcdir/extrac02.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -14301,7 +16955,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -14323,12 +16977,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac02.at:28:
+$as_echo "$at_srcdir/extrac02.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -14344,7 +16998,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -14366,7 +17020,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -14377,14 +17031,14 @@ $at_traceon; }
   $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 'extrac03.at:23' \
+#AT_STOP_65
+#AT_START_66
+at_fn_group_banner 66 'extrac03.at:23' \
   "extraction loops" "                               " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "59. $at_setup_line: testing $at_desc ..."
+  $as_echo "66. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -14603,14 +17257,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac04.at:23' \
+#AT_STOP_66
+#AT_START_67
+at_fn_group_banner 67 'extrac04.at:24' \
   "extract + fnmatch" "                              " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "60. $at_setup_line: testing $at_desc ..."
+  $as_echo "67. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -14618,7 +17272,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac04.at:26:
+$as_echo "$at_srcdir/extrac04.at:27:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -14643,7 +17297,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -14678,12 +17332,12 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac04.at:26:
+$as_echo "$at_srcdir/extrac04.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -14708,7 +17362,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -14743,12 +17397,12 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac04.at:26:
+$as_echo "$at_srcdir/extrac04.at:27:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -14773,7 +17427,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -14808,12 +17462,12 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac04.at:26:
+$as_echo "$at_srcdir/extrac04.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -14838,7 +17492,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -14873,12 +17527,12 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac04.at:26:
+$as_echo "$at_srcdir/extrac04.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -14903,7 +17557,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -14938,7 +17592,7 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -14949,14 +17603,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac05.at:30' \
+#AT_STOP_67
+#AT_START_68
+at_fn_group_banner 68 'extrac05.at:31' \
   "extracting selected members from pax" "           " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "61. $at_setup_line: testing $at_desc ..."
+  $as_echo "68. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -14970,7 +17624,7 @@ _ATEOF
 
 
   { set +x
-$as_echo "$at_srcdir/extrac05.at:38:
+$as_echo "$at_srcdir/extrac05.at:39:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -14994,7 +17648,7 @@ tar xvfT ../archive ../../list --warning=no-timestamp || exit 1
 
 cd ..
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac05.at:38"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac05.at:39"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -15027,7 +17681,7 @@ echo >>"$at_stdout"; $as_echo "jeden
 cztery
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac05.at:38"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac05.at:39"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -15038,14 +17692,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac06.at:34' \
+#AT_STOP_68
+#AT_START_69
+at_fn_group_banner 69 'extrac06.at:34' \
   "mode of extracted directories" "                  " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "62. $at_setup_line: testing $at_desc ..."
+  $as_echo "69. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15509,14 +18163,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac07.at:27' \
+#AT_STOP_69
+#AT_START_70
+at_fn_group_banner 70 'extrac07.at:27' \
   "extracting symlinks to a read-only dir" "         " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "63. $at_setup_line: testing $at_desc ..."
+  $as_echo "70. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15617,14 +18271,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac08.at:33' \
+#AT_STOP_70
+#AT_START_71
+at_fn_group_banner 71 'extrac08.at:33' \
   "restoring mode on existing directory" "           " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "64. $at_setup_line: testing $at_desc ..."
+  $as_echo "71. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15893,14 +18547,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac09.at:34' \
+#AT_STOP_71
+#AT_START_72
+at_fn_group_banner 72 'extrac09.at:34' \
   "extracting even when . and .. are unreadable" "   " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "65. $at_setup_line: testing $at_desc ..."
+  $as_echo "72. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15993,14 +18647,14 @@ $at_traceon; }
   $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 'extrac10.at:29' \
+#AT_STOP_72
+#AT_START_73
+at_fn_group_banner 73 'extrac10.at:29' \
   "-C and delayed setting of metadata" "             " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "66. $at_setup_line: testing $at_desc ..."
+  $as_echo "73. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16061,14 +18715,14 @@ $at_traceon; }
   $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 'extrac11.at:25' \
+#AT_STOP_73
+#AT_START_74
+at_fn_group_banner 74 'extrac11.at:25' \
   "scarce file descriptors" "                        " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "67. $at_setup_line: testing $at_desc ..."
+  $as_echo "74. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16221,14 +18875,14 @@ $at_traceon; }
   $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 'extrac12.at:25' \
+#AT_STOP_74
+#AT_START_75
+at_fn_group_banner 75 'extrac12.at:25' \
   "extract dot permissions" "                        " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "68. $at_setup_line: testing $at_desc ..."
+  $as_echo "75. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16291,14 +18945,14 @@ $at_traceon; }
   $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 'extrac13.at:26' \
+#AT_STOP_75
+#AT_START_76
+at_fn_group_banner 76 'extrac13.at:26' \
   "extract over symlinks" "                          " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "69. $at_setup_line: testing $at_desc ..."
+  $as_echo "76. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16387,14 +19041,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac14.at:25' \
+#AT_STOP_76
+#AT_START_77
+at_fn_group_banner 77 'extrac14.at:25' \
   "extract -C symlink" "                             " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "70. $at_setup_line: testing $at_desc ..."
+  $as_echo "77. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16451,14 +19105,14 @@ $at_traceon; }
   $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 'extrac15.at:25' \
+#AT_STOP_77
+#AT_START_78
+at_fn_group_banner 78 'extrac15.at:25' \
   "extract parent mkdir failure" "                   " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "71. $at_setup_line: testing $at_desc ..."
+  $as_echo "78. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16543,14 +19197,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac16.at:26' \
+#AT_STOP_78
+#AT_START_79
+at_fn_group_banner 79 'extrac16.at:26' \
   "extract empty directory with -C" "                " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "72. $at_setup_line: testing $at_desc ..."
+  $as_echo "79. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16605,14 +19259,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac17.at:21' \
+#AT_STOP_79
+#AT_START_80
+at_fn_group_banner 80 'extrac17.at:21' \
   "name matching/transformation ordering" "          " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "73. $at_setup_line: testing $at_desc ..."
+  $as_echo "80. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16881,14 +19535,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac18.at:34' \
+#AT_STOP_80
+#AT_START_81
+at_fn_group_banner 81 'extrac18.at:34' \
   "keep-old-files" "                                 " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "74. $at_setup_line: testing $at_desc ..."
+  $as_echo "81. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -17227,14 +19881,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'extrac19.at:21' \
+#AT_STOP_81
+#AT_START_82
+at_fn_group_banner 82 'extrac19.at:21' \
   "skip-old-files" "                                 " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "75. $at_setup_line: testing $at_desc ..."
+  $as_echo "82. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -17558,14 +20212,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'backup01.at:33' \
+#AT_STOP_82
+#AT_START_83
+at_fn_group_banner 83 'backup01.at:33' \
   "extracting existing dir with --backup" "          " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "76. $at_setup_line: testing $at_desc ..."
+  $as_echo "83. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -17809,14 +20463,14 @@ $at_traceon; }
   $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 'label01.at:21' \
+#AT_STOP_83
+#AT_START_84
+at_fn_group_banner 84 'label01.at:21' \
   "single-volume label" "                            " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "77. $at_setup_line: testing $at_desc ..."
+  $as_echo "84. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -17959,14 +20613,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'label02.at:21' \
+#AT_STOP_84
+#AT_START_85
+at_fn_group_banner 85 'label02.at:21' \
   "multi-volume label" "                             " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "78. $at_setup_line: testing $at_desc ..."
+  $as_echo "85. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18124,14 +20778,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'label03.at:27' \
+#AT_STOP_85
+#AT_START_86
+at_fn_group_banner 86 'label03.at:27' \
   "test-label option" "                              " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "79. $at_setup_line: testing $at_desc ..."
+  $as_echo "86. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18469,14 +21123,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'label04.at:27' \
+#AT_STOP_86
+#AT_START_87
+at_fn_group_banner 87 'label04.at:27' \
   "label with non-create option" "                   " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "80. $at_setup_line: testing $at_desc ..."
+  $as_echo "87. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18664,14 +21318,14 @@ $at_traceon; }
   $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 'label05.at:24' \
+#AT_STOP_87
+#AT_START_88
+at_fn_group_banner 88 'label05.at:24' \
   "label with non-create option" "                   " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "81. $at_setup_line: testing $at_desc ..."
+  $as_echo "88. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18859,14 +21513,14 @@ $at_traceon; }
   $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 'incremental.at:23' \
+#AT_STOP_88
+#AT_START_89
+at_fn_group_banner 89 'incremental.at:23' \
   "incremental" "                                    " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "82. $at_setup_line: testing $at_desc ..."
+  $as_echo "89. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18883,6 +21537,8 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir structure
 echo x >structure/file
 
@@ -18920,6 +21576,8 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir structure
 echo x >structure/file
 
@@ -18971,6 +21629,8 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir structure
 echo x >structure/file
 
@@ -19008,6 +21668,8 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir structure
 echo x >structure/file
 
@@ -19059,6 +21721,8 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir structure
 echo x >structure/file
 
@@ -19096,6 +21760,8 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir structure
 echo x >structure/file
 
@@ -19144,14 +21810,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'incr01.at:27' \
+#AT_STOP_89
+#AT_START_90
+at_fn_group_banner 90 'incr01.at:27' \
   "restore broken symlinks from incremental" "       " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "83. $at_setup_line: testing $at_desc ..."
+  $as_echo "90. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19168,6 +21834,8 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 \$as_ln_s foo directory/bar
 
@@ -19191,6 +21859,8 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 $as_ln_s foo directory/bar
 
@@ -19229,6 +21899,8 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 \$as_ln_s foo directory/bar
 
@@ -19252,6 +21924,8 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 $as_ln_s foo directory/bar
 
@@ -19290,6 +21964,8 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 \$as_ln_s foo directory/bar
 
@@ -19313,6 +21989,8 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 $as_ln_s foo directory/bar
 
@@ -19348,14 +22026,14 @@ $at_traceon; }
   $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 'incr02.at:32' \
+#AT_STOP_90
+#AT_START_91
+at_fn_group_banner 91 'incr02.at:32' \
   "restoring timestamps from incremental" "          " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "84. $at_setup_line: testing $at_desc ..."
+  $as_echo "91. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19372,6 +22050,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 # Create directory structure
 mkdir dir
 mkdir dir/subdir1
@@ -19418,6 +22097,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 # Create directory structure
 mkdir dir
 mkdir dir/subdir1
@@ -19473,6 +22153,7 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 # Create directory structure
 mkdir dir
 mkdir dir/subdir1
@@ -19519,6 +22200,7 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 # Create directory structure
 mkdir dir
 mkdir dir/subdir1
@@ -19574,6 +22256,7 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 # Create directory structure
 mkdir dir
 mkdir dir/subdir1
@@ -19620,6 +22303,7 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 # Create directory structure
 mkdir dir
 mkdir dir/subdir1
@@ -19672,14 +22356,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'listed01.at:26' \
+#AT_STOP_91
+#AT_START_92
+at_fn_group_banner 92 'listed01.at:27' \
   "--listed for individual files" "                  " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "85. $at_setup_line: testing $at_desc ..."
+  $as_echo "92. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19687,7 +22371,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/listed01.at:29:
+$as_echo "$at_srcdir/listed01.at:30:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -19696,6 +22380,8 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 genfile --length 10240 --pattern zeros --file directory/file1
 # Let the things settle
@@ -19721,7 +22407,7 @@ tar --create \\
 
 tar tf archive.2 || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:30"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -19731,6 +22417,8 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 genfile --length 10240 --pattern zeros --file directory/file1
 # Let the things settle
@@ -19765,12 +22453,12 @@ separator
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/listed01.at:29:
+$as_echo "$at_srcdir/listed01.at:30:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -19779,6 +22467,8 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 genfile --length 10240 --pattern zeros --file directory/file1
 # Let the things settle
@@ -19804,7 +22494,7 @@ tar --create \\
 
 tar tf archive.2 || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:30"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -19814,6 +22504,8 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
+
 mkdir directory
 genfile --length 10240 --pattern zeros --file directory/file1
 # Let the things settle
@@ -19848,7 +22540,7 @@ separator
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -19859,14 +22551,14 @@ $at_traceon; }
   $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 'listed02.at:28' \
+#AT_STOP_92
+#AT_START_93
+at_fn_group_banner 93 'listed02.at:29' \
   "working --listed" "                               " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "86. $at_setup_line: testing $at_desc ..."
+  $as_echo "93. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19874,7 +22566,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/listed02.at:31:
+$as_echo "$at_srcdir/listed02.at:32:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -19883,6 +22575,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
 
@@ -19942,7 +22635,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:32"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -19952,6 +22645,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z "`sort < /dev/null 2>&1`" || exit 77
 
@@ -20081,12 +22775,12 @@ tart/c2/ca2
 tart/c2/ca3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/listed02.at:31:
+$as_echo "$at_srcdir/listed02.at:32:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -20095,6 +22789,7 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
 
@@ -20154,7 +22849,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:32"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -20164,6 +22859,7 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z "`sort < /dev/null 2>&1`" || exit 77
 
@@ -20293,7 +22989,7 @@ tart/c2/ca2
 tart/c2/ca3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -20304,14 +23000,14 @@ $at_traceon; }
   $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 'listed03.at:24' \
+#AT_STOP_93
+#AT_START_94
+at_fn_group_banner 94 'listed03.at:24' \
   "incremental dump when the parent directory is unreadable" "" 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "87. $at_setup_line: testing $at_desc ..."
+  $as_echo "94. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20328,6 +23024,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 echo \"test\" > \$\$
 chmod 0 \$\$
@@ -20344,9 +23041,13 @@ genfile --file dir/sub/a/file
 cd dir/sub
 
 chmod a-r ..
-tar -c -f archive.tar --listed-incremental=db.1 -v a
+tar -c -f archive.tar --listed-incremental=db.1 -v a 2>err
 status=\$?
 chmod a+r ..
+if test \$status -eq 2; then
+  grep '^tar: \\.: Cannot getcwd' err >/dev/null 2>&1 && exit 77
+fi
+cat err >&2
 exit \$status
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "listed03.at:27"
@@ -20359,6 +23060,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 echo "test" > $$
 chmod 0 $$
@@ -20375,9 +23077,13 @@ genfile --file dir/sub/a/file
 cd dir/sub
 
 chmod a-r ..
-tar -c -f archive.tar --listed-incremental=db.1 -v a
+tar -c -f archive.tar --listed-incremental=db.1 -v a 2>err
 status=$?
 chmod a+r ..
+if test $status -eq 2; then
+  grep '^tar: \.: Cannot getcwd' err >/dev/null 2>&1 && exit 77
+fi
+cat err >&2
 exit $status
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -20401,14 +23107,14 @@ $at_traceon; }
   $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 'listed04.at:26' \
+#AT_STOP_94
+#AT_START_95
+at_fn_group_banner 95 'listed04.at:26' \
   "--listed-incremental and --one-file-system" "     " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "88. $at_setup_line: testing $at_desc ..."
+  $as_echo "95. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20425,7 +23131,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
-
+ckmtime || exit 77
 mkdir dir
 echo a >dir/a
 echo b >dir/b
@@ -20443,7 +23149,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
-
+ckmtime || exit 77
 mkdir dir
 echo a >dir/a
 echo b >dir/b
@@ -20476,14 +23182,14 @@ $at_traceon; }
   $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 'listed05.at:33' \
+#AT_STOP_95
+#AT_START_96
+at_fn_group_banner 96 'listed05.at:33' \
   "--listed-incremental and remounted directories" " " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "89. $at_setup_line: testing $at_desc ..."
+  $as_echo "96. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20500,6 +23206,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 echo \"test\" > \$\$
 chmod 0 \$\$
@@ -20542,6 +23249,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 echo "test" > $$
 chmod 0 $$
@@ -20604,14 +23312,14 @@ $at_traceon; }
   $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 'incr03.at:28' \
+#AT_STOP_96
+#AT_START_97
+at_fn_group_banner 97 'incr03.at:29' \
   "renamed files in incrementals" "                  " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "90. $at_setup_line: testing $at_desc ..."
+  $as_echo "97. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20619,7 +23327,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/incr03.at:31:
+$as_echo "$at_srcdir/incr03.at:32:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -20628,6 +23336,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
 
@@ -20658,7 +23367,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -20668,6 +23377,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z "`sort < /dev/null 2>&1`" || exit 77
 
@@ -20719,12 +23429,12 @@ directory/y
 directory/z
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr03.at:31:
+$as_echo "$at_srcdir/incr03.at:32:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -20733,6 +23443,7 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
 
@@ -20763,7 +23474,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -20773,6 +23484,7 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z "`sort < /dev/null 2>&1`" || exit 77
 
@@ -20824,12 +23536,12 @@ directory/y
 directory/z
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr03.at:31:
+$as_echo "$at_srcdir/incr03.at:32:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -20838,6 +23550,7 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
 
@@ -20868,7 +23581,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -20878,6 +23591,7 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z "`sort < /dev/null 2>&1`" || exit 77
 
@@ -20929,7 +23643,7 @@ directory/y
 directory/z
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -20940,14 +23654,14 @@ $at_traceon; }
   $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 'incr04.at:29' \
+#AT_STOP_97
+#AT_START_98
+at_fn_group_banner 98 'incr04.at:30' \
   "proper icontents initialization" "                " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "91. $at_setup_line: testing $at_desc ..."
+  $as_echo "98. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20957,7 +23671,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/incr04.at:34:
+$as_echo "$at_srcdir/incr04.at:35:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -20966,6 +23680,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 install-sh -d a/b >/dev/null  || exit 77
 awk 'BEGIN {
@@ -20981,7 +23696,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -20991,6 +23706,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 install-sh -d a/b >/dev/null  || exit 77
 awk 'BEGIN {
 a/c/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr04.at:34:
+$as_echo "$at_srcdir/incr04.at:35:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -21178,6 +23894,7 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 install-sh -d a/b >/dev/null  || exit 77
 awk 'BEGIN {
@@ -21193,7 +23910,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -21203,6 +23920,7 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 install-sh -d a/b >/dev/null  || exit 77
 awk 'BEGIN {
 a/c/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr04.at:34:
+$as_echo "$at_srcdir/incr04.at:35:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -21390,6 +24108,7 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 install-sh -d a/b >/dev/null  || exit 77
 awk 'BEGIN {
@@ -21405,7 +24124,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -21415,6 +24134,7 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 install-sh -d a/b >/dev/null  || exit 77
 awk 'BEGIN {
@@ -21588,7 +24308,7 @@ a/
 a/c/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -21600,14 +24320,14 @@ $at_traceon; }
   $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 'incr05.at:21' \
+#AT_STOP_98
+#AT_START_99
+at_fn_group_banner 99 'incr05.at:21' \
   "incremental dumps with -C" "                      " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "92. $at_setup_line: testing $at_desc ..."
+  $as_echo "99. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -21624,6 +24344,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 genfile --file dir/file1
@@ -21646,6 +24367,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 genfile --file dir/file1
@@ -21687,6 +24409,7 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 genfile --file dir/file1
@@ -21709,6 +24432,7 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 genfile --file dir/file1
@@ -21750,6 +24474,7 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 genfile --file dir/file1
@@ -21772,6 +24497,7 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 genfile --file dir/file1
@@ -21810,14 +24536,14 @@ $at_traceon; }
   $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 'incr06.at:21' \
+#AT_STOP_99
+#AT_START_100
+at_fn_group_banner 100 'incr06.at:21' \
   "incremental dumps of nested directories" "        " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "93. $at_setup_line: testing $at_desc ..."
+  $as_echo "100. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -21834,6 +24560,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 mkdir dir/sub/a
@@ -21865,6 +24592,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 mkdir dir/sub/a
@@ -21936,6 +24664,7 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 mkdir dir/sub/a
@@ -21967,6 +24696,7 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 mkdir dir/sub/a
@@ -22038,6 +24768,7 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 mkdir dir/sub/a
@@ -22069,6 +24800,7 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dir
 mkdir dir/sub
 mkdir dir/sub/a
@@ -22137,14 +24869,14 @@ $at_traceon; }
   $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 'incr07.at:18' \
+#AT_STOP_100
+#AT_START_101
+at_fn_group_banner 101 'incr07.at:18' \
   "incremental restores with -C" "                   " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "94. $at_setup_line: testing $at_desc ..."
+  $as_echo "101. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22180,6 +24912,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dirA
 echo 'a' > dirA/a
 echo 'a' > dirA/b
@@ -22226,6 +24959,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dirA
 echo 'a' > dirA/a
 echo 'a' > dirA/b
@@ -22314,6 +25048,7 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dirA
 echo 'a' > dirA/a
 echo 'a' > dirA/b
@@ -22360,6 +25095,7 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dirA
 echo 'a' > dirA/a
 echo 'a' > dirA/b
@@ -22448,6 +25184,7 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dirA
 echo 'a' > dirA/a
 echo 'a' > dirA/b
@@ -22494,6 +25231,7 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 mkdir dirA
 echo 'a' > dirA/a
 echo 'a' > dirA/b
@@ -22579,14 +25317,14 @@ $at_traceon; }
   $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 'incr08.at:38' \
+#AT_STOP_101
+#AT_START_102
+at_fn_group_banner 102 'incr08.at:38' \
   "filename normalization" "                         " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "95. $at_setup_line: testing $at_desc ..."
+  $as_echo "102. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22603,6 +25341,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
 
@@ -22632,6 +25371,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z "`sort < /dev/null 2>&1`" || exit 77
 
@@ -22692,14 +25432,14 @@ $at_traceon; }
   $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 'incr09.at:26' \
+#AT_STOP_102
+#AT_START_103
+at_fn_group_banner 103 'incr09.at:26' \
   "incremental with alternating -C" "                " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "96. $at_setup_line: testing $at_desc ..."
+  $as_echo "103. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22716,6 +25456,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
 
@@ -22741,6 +25482,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+ckmtime || exit 77
 
 test -z "`sort < /dev/null 2>&1`" || exit 77
 
@@ -22794,14 +25536,238 @@ $at_traceon; }
   $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 'filerem01.at:36' \
+#AT_STOP_103
+#AT_START_104
+at_fn_group_banner 104 'incr10.at:18' \
+  "concatenated incremental archives (deletes)" "    " 11
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "104. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+# Description: Extraction from concatenated incremental archives
+# produced spurious error messages when trying to set file ownership
+# and permissions on deleted directories.
+# Reported by: Alex Efros <powerman@powerman.name>
+# References: <20150411224008.GO24600@home.power>
+#             http://lists.gnu.org/archive/html/bug-tar/2015-04/msg00003.html
+
+
+
+  { set +x
+$as_echo "$at_srcdir/incr10.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+ckmtime || exit 77
+mkdir in
+mkdir in/dir
+decho Level 0
+tar -cvf 1.tar -g snap -C in .
+rmdir in/dir
+decho Level 1
+tar -cvf 2.tar -g snap -C in .
+cp 1.tar full.tar
+decho Concat
+tar -A 2.tar -f full.tar -g /dev/null
+decho Extract
+mkdir out
+tar -xvf full.tar -g /dev/null -C out
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incr10.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 *
+
+ckmtime || exit 77
+mkdir in
+mkdir in/dir
+decho Level 0
+tar -cvf 1.tar -g snap -C in .
+rmdir in/dir
+decho Level 1
+tar -cvf 2.tar -g snap -C in .
+cp 1.tar full.tar
+decho Concat
+tar -A 2.tar -f full.tar -g /dev/null
+decho Extract
+mkdir out
+tar -xvf full.tar -g /dev/null -C out
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "Level 0
+tar: .: Directory is new
+tar: ./dir: Directory is new
+Level 1
+Concat
+Extract
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Level 0
+./
+./dir/
+Level 1
+./
+Concat
+Extract
+./
+./dir/
+./
+tar: Deleting './dir'
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incr10.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_104
+#AT_START_105
+at_fn_group_banner 105 'incr11.at:25' \
+  "concatenated incremental archives (renames)" "    " 11
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "105. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/incr11.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+ckmtime || exit 77
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+
+install-sh -d data/dir >/dev/null && genfile --file data/dir/file || exit 77
+decho Level 0
+tar -cvf full.tar -g snap -C data .
+decho Level 1
+mv data/dir data/dir2
+tar -cvf incr.tar -g snap -C data .
+decho Concat
+cp full.tar full2.tar
+tar -A -f full2.tar incr.tar
+decho Extract
+mkdir out
+tar -xvf full2.tar -g /dev/null -C out
+decho List
+find out | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "incr11.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 *
+
+ckmtime || exit 77
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+install-sh -d data/dir >/dev/null && genfile --file data/dir/file || exit 77
+decho Level 0
+tar -cvf full.tar -g snap -C data .
+decho Level 1
+mv data/dir data/dir2
+tar -cvf incr.tar -g snap -C data .
+decho Concat
+cp full.tar full2.tar
+tar -A -f full2.tar incr.tar
+decho Extract
+mkdir out
+tar -xvf full2.tar -g /dev/null -C out
+decho List
+find out | sort
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "Level 0
+tar: .: Directory is new
+tar: ./dir: Directory is new
+Level 1
+tar: ./dir2: Directory has been renamed from './dir'
+Concat
+Extract
+List
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Level 0
+./
+./dir/
+./dir/file
+Level 1
+./
+./dir2/
+Concat
+Extract
+./
+./dir/
+./dir/file
+./
+./dir2/
+List
+out
+out/dir2
+out/dir2/file
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incr11.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_105
+#AT_START_106
+at_fn_group_banner 106 'filerem01.at:36' \
   "file removed as we read it (ca. 22 seconds)" "    " 12
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "97. $at_setup_line: testing $at_desc ..."
+  $as_echo "106. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22966,14 +25932,14 @@ $at_traceon; }
   $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 'filerem02.at:26' \
+#AT_STOP_106
+#AT_START_107
+at_fn_group_banner 107 'filerem02.at:26' \
   "toplevel file removed (ca. 24 seconds)" "         " 12
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "98. $at_setup_line: testing $at_desc ..."
+  $as_echo "107. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23098,14 +26064,14 @@ $at_traceon; }
   $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 'rename01.at:24' \
+#AT_STOP_107
+#AT_START_108
+at_fn_group_banner 108 'rename01.at:25' \
   "renamed dirs in incrementals" "                   " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "99. $at_setup_line: testing $at_desc ..."
+  $as_echo "108. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23113,7 +26079,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/rename01.at:27:
+$as_echo "$at_srcdir/rename01.at:28:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -23153,7 +26119,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -23227,12 +26193,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename01.at:27:
+$as_echo "$at_srcdir/rename01.at:28:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -23272,7 +26238,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -23346,12 +26312,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename01.at:27:
+$as_echo "$at_srcdir/rename01.at:28:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -23391,7 +26357,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -23465,7 +26431,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -23476,14 +26442,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'rename02.at:24' \
+#AT_STOP_108
+#AT_START_109
+at_fn_group_banner 109 'rename02.at:25' \
   "move between hierarchies" "                       " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "100. $at_setup_line: testing $at_desc ..."
+  $as_echo "109. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23491,7 +26457,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/rename02.at:27:
+$as_echo "$at_srcdir/rename02.at:28:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -23535,7 +26501,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -23624,12 +26590,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename02.at:27:
+$as_echo "$at_srcdir/rename02.at:28:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -23673,7 +26639,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -23762,12 +26728,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename02.at:27:
+$as_echo "$at_srcdir/rename02.at:28:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -23811,7 +26777,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -23900,7 +26866,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -23911,14 +26877,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'rename03.at:23' \
+#AT_STOP_109
+#AT_START_110
+at_fn_group_banner 110 'rename03.at:24' \
   "cyclic renames" "                                 " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "101. $at_setup_line: testing $at_desc ..."
+  $as_echo "110. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23926,7 +26892,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/rename03.at:26:
+$as_echo "$at_srcdir/rename03.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -23982,7 +26948,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -24096,12 +27062,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename03.at:26:
+$as_echo "$at_srcdir/rename03.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -24157,7 +27123,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -24271,12 +27237,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename03.at:26:
+$as_echo "$at_srcdir/rename03.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -24332,7 +27298,7 @@ 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_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -24446,7 +27412,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -24457,14 +27423,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'rename04.at:27' \
+#AT_STOP_110
+#AT_START_111
+at_fn_group_banner 111 'rename04.at:27' \
   "renamed directory containing subdirectories" "    " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "102. $at_setup_line: testing $at_desc ..."
+  $as_echo "111. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -24796,14 +27762,14 @@ $at_traceon; }
   $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 'rename05.at:24' \
+#AT_STOP_111
+#AT_START_112
+at_fn_group_banner 112 'rename05.at:24' \
   "renamed subdirectories" "                         " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "103. $at_setup_line: testing $at_desc ..."
+  $as_echo "112. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -25141,14 +28107,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'chtype.at:27' \
+#AT_STOP_112
+#AT_START_113
+at_fn_group_banner 113 'chtype.at:27' \
   "changed file types in incrementals" "             " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "104. $at_setup_line: testing $at_desc ..."
+  $as_echo "113. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -25465,14 +28431,14 @@ $at_traceon; }
   $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 'ignfail.at:23' \
+#AT_STOP_113
+#AT_START_114
+at_fn_group_banner 114 'ignfail.at:24' \
   "ignfail" "                                        " 14
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "105. $at_setup_line: testing $at_desc ..."
+  $as_echo "114. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -25480,7 +28446,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/ignfail.at:26:
+$as_echo "$at_srcdir/ignfail.at:27:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -25531,7 +28497,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -25599,12 +28565,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/ignfail.at:26:
+$as_echo "$at_srcdir/ignfail.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -25655,7 +28621,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -25723,12 +28689,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/ignfail.at:26:
+$as_echo "$at_srcdir/ignfail.at:27:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -25779,7 +28745,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -25847,12 +28813,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/ignfail.at:26:
+$as_echo "$at_srcdir/ignfail.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -25903,7 +28869,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -25971,12 +28937,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/ignfail.at:26:
+$as_echo "$at_srcdir/ignfail.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -26027,7 +28993,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -26095,7 +29061,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -26106,14 +29072,14 @@ $at_traceon; }
   $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 'link01.at:33' \
+#AT_STOP_114
+#AT_START_115
+at_fn_group_banner 115 'link01.at:34' \
   "link count gt 2" "                                " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "106. $at_setup_line: testing $at_desc ..."
+  $as_echo "115. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -26121,7 +29087,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/link01.at:36:
+$as_echo "$at_srcdir/link01.at:37:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -26144,7 +29110,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -26175,12 +29141,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/link01.at:36:
+$as_echo "$at_srcdir/link01.at:37:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -26203,7 +29169,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -26234,12 +29200,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/link01.at:36:
+$as_echo "$at_srcdir/link01.at:37:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -26262,7 +29228,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -26293,12 +29259,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/link01.at:36:
+$as_echo "$at_srcdir/link01.at:37:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -26321,7 +29287,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -26352,12 +29318,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/link01.at:36:
+$as_echo "$at_srcdir/link01.at:37:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -26380,7 +29346,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -26411,7 +29377,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -26422,14 +29388,14 @@ $at_traceon; }
   $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 'link02.at:32' \
+#AT_STOP_115
+#AT_START_116
+at_fn_group_banner 116 'link02.at:32' \
   "preserve hard links with --remove-files" "        " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "107. $at_setup_line: testing $at_desc ..."
+  $as_echo "116. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -26678,14 +29644,14 @@ $at_traceon; }
   $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 'link03.at:24' \
+#AT_STOP_116
+#AT_START_117
+at_fn_group_banner 117 'link03.at:24' \
   "working -l with --remove-files" "                 " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "108. $at_setup_line: testing $at_desc ..."
+  $as_echo "117. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27077,14 +30043,14 @@ $at_traceon; }
   $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 'link04.at:29' \
+#AT_STOP_117
+#AT_START_118
+at_fn_group_banner 118 'link04.at:29' \
   "link count is 1 but multiple occurrences" "       " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "109. $at_setup_line: testing $at_desc ..."
+  $as_echo "118. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27110,6 +30076,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27138,6 +30108,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27157,6 +30131,7 @@ dir/file
 dir/file link to dir/file
 dir/symlink -> file
 dir/symlink link to dir/symlink
+--
 ==
 dir/
 dir/FOO
@@ -27186,6 +30161,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27214,6 +30193,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27233,6 +30216,7 @@ dir/file
 dir/file link to dir/file
 dir/symlink -> file
 dir/symlink link to dir/symlink
+--
 ==
 dir/
 dir/FOO
@@ -27262,6 +30246,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27290,6 +30278,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27309,6 +30301,7 @@ dir/file
 dir/file link to dir/file
 dir/symlink -> file
 dir/symlink link to dir/symlink
+--
 ==
 dir/
 dir/FOO
@@ -27338,6 +30331,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27366,6 +30363,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27385,6 +30386,7 @@ dir/file
 dir/file link to dir/file
 dir/symlink -> file
 dir/symlink link to dir/symlink
+--
 ==
 dir/
 dir/FOO
@@ -27414,6 +30416,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27442,6 +30448,10 @@ tar tvf archive | sed '
   s,.*[0-9] dir/,dir/,
 ' | sort
 
+echo --
+
+tar cfl archive dir dir
+
 echo ==
 
 tar chf archive dir
@@ -27461,6 +30471,7 @@ dir/file
 dir/file link to dir/file
 dir/symlink -> file
 dir/symlink link to dir/symlink
+--
 ==
 dir/
 dir/FOO
@@ -27478,14 +30489,14 @@ $at_traceon; }
   $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 'longv7.at:24' \
+#AT_STOP_118
+#AT_START_119
+at_fn_group_banner 119 'longv7.at:25' \
   "long names in V7 archives" "                      " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "110. $at_setup_line: testing $at_desc ..."
+  $as_echo "119. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27496,7 +30507,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/longv7.at:30:
+$as_echo "$at_srcdir/longv7.at:31:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -27512,7 +30523,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "longv7.at:31"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -27540,7 +30551,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/longv7.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -27553,14 +30564,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'long01.at:28' \
+#AT_STOP_119
+#AT_START_120
+at_fn_group_banner 120 'long01.at:28' \
   "long file names divisible by block size" "        " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "111. $at_setup_line: testing $at_desc ..."
+  $as_echo "120. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27668,14 +30679,14 @@ $at_traceon; }
   $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 'lustar01.at:21' \
+#AT_STOP_120
+#AT_START_121
+at_fn_group_banner 121 'lustar01.at:21' \
   "ustar: unsplittable file name" "                  " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "112. $at_setup_line: testing $at_desc ..."
+  $as_echo "121. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27730,14 +30741,14 @@ $at_traceon; }
   $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 'lustar02.at:21' \
+#AT_STOP_121
+#AT_START_122
+at_fn_group_banner 122 'lustar02.at:21' \
   "ustar: unsplittable path name" "                  " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "113. $at_setup_line: testing $at_desc ..."
+  $as_echo "122. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27801,14 +30812,14 @@ $at_traceon; }
   $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 'lustar03.at:21' \
+#AT_STOP_122
+#AT_START_123
+at_fn_group_banner 123 'lustar03.at:21' \
   "ustar: splitting long names" "                    " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "114. $at_setup_line: testing $at_desc ..."
+  $as_echo "123. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27874,13 +30885,13 @@ $at_traceon; }
   $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 'old.at:23' \
+#AT_STOP_123
+#AT_START_124
+at_fn_group_banner 124 'old.at:23' \
   "old archives" "                                   " 16
 at_xfail=no
 (
-  $as_echo "115. $at_setup_line: testing $at_desc ..."
+  $as_echo "124. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27915,14 +30926,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'time01.at:20' \
+#AT_STOP_124
+#AT_START_125
+at_fn_group_banner 125 'time01.at:20' \
   "time: tricky time stamps" "                       " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "116. $at_setup_line: testing $at_desc ..."
+  $as_echo "125. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28049,14 +31060,95 @@ $at_traceon; }
   $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 'multiv01.at:24' \
+#AT_STOP_125
+#AT_START_126
+at_fn_group_banner 126 'time02.at:20' \
+  "time: clamping mtime" "                           " 16
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "126. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/time02.at:23:
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H pax\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+export TZ=UTC0
+mkdir dir
+
+touch -d 2015-12-01T00:00:00 dir/a >/dev/null 2>&1 || exit 77
+touch -d 2016-01-01T00:00:00 dir/b >/dev/null 2>&1 || exit 77
+touch -d 2016-02-01T00:00:00 dir/c >/dev/null 2>&1 || exit 77
+touch -d 2038-01-01T00:00:00 dir/d >/dev/null 2>&1 || exit 77
+
+tar -c --mtime 2016-01-15T00:00:00 --clamp-mtime -f archive.tar dir
+tar -d -f archive.tar dir|sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "time02.at:23"
+( $at_check_trace;
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H pax"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+export TZ=UTC0
+mkdir dir
+
+touch -d 2015-12-01T00:00:00 dir/a >/dev/null 2>&1 || exit 77
+touch -d 2016-01-01T00:00:00 dir/b >/dev/null 2>&1 || exit 77
+touch -d 2016-02-01T00:00:00 dir/c >/dev/null 2>&1 || exit 77
+touch -d 2038-01-01T00:00:00 dir/d >/dev/null 2>&1 || exit 77
+
+tar -c --mtime 2016-01-15T00:00:00 --clamp-mtime -f archive.tar dir
+tar -d -f archive.tar dir|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/c: Mod time differs
+dir/d: Mod time differs
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/time02.at:23"
+$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_126
+#AT_START_127
+at_fn_group_banner 127 'multiv01.at:24' \
   "multivolume dumps from pipes" "                   " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "117. $at_setup_line: testing $at_desc ..."
+  $as_echo "127. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28335,14 +31427,14 @@ $at_traceon; }
   $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 'multiv02.at:28' \
+#AT_STOP_127
+#AT_START_128
+at_fn_group_banner 128 'multiv02.at:29' \
   "skipping a straddling member" "                   " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "118. $at_setup_line: testing $at_desc ..."
+  $as_echo "128. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28350,7 +31442,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/multiv02.at:31:
+$as_echo "$at_srcdir/multiv02.at:32:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -28370,7 +31462,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -28399,12 +31491,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/multiv02.at:31:
+$as_echo "$at_srcdir/multiv02.at:32:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -28424,7 +31516,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -28453,12 +31545,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/multiv02.at:31:
+$as_echo "$at_srcdir/multiv02.at:32:
 mkdir pax
 (cd pax
 TEST_TAR_FORMAT=pax
@@ -28478,7 +31570,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32"
 ( $at_check_trace;
 mkdir pax
 (cd pax
@@ -28507,7 +31599,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -28518,14 +31610,14 @@ $at_traceon; }
   $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 'multiv03.at:30' \
+#AT_STOP_128
+#AT_START_129
+at_fn_group_banner 129 'multiv03.at:30' \
   "MV archive & long filenames" "                    " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "119. $at_setup_line: testing $at_desc ..."
+  $as_echo "129. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28721,14 +31813,14 @@ $at_traceon; }
   $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 'multiv04.at:36' \
+#AT_STOP_129
+#AT_START_130
+at_fn_group_banner 130 'multiv04.at:36' \
   "split directory members in a MV archive" "        " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "120. $at_setup_line: testing $at_desc ..."
+  $as_echo "130. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28878,14 +31970,14 @@ $at_traceon; }
   $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 'multiv05.at:26' \
+#AT_STOP_130
+#AT_START_131
+at_fn_group_banner 131 'multiv05.at:26' \
   "Restoring after an out of sync volume" "          " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "121. $at_setup_line: testing $at_desc ..."
+  $as_echo "131. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29005,14 +32097,14 @@ $at_traceon; }
   $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 'multiv06.at:27' \
+#AT_STOP_131
+#AT_START_132
+at_fn_group_banner 132 'multiv06.at:27' \
   "Multivolumes with L=record_size" "                " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "122. $at_setup_line: testing $at_desc ..."
+  $as_echo "132. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29130,14 +32222,14 @@ $at_traceon; }
   $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 'multiv07.at:28' \
+#AT_STOP_132
+#AT_START_133
+at_fn_group_banner 133 'multiv07.at:28' \
   "volumes split at an extended header" "            " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "123. $at_setup_line: testing $at_desc ..."
+  $as_echo "133. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29190,14 +32282,14 @@ $at_traceon; }
   $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 'multiv08.at:25' \
+#AT_STOP_133
+#AT_START_134
+at_fn_group_banner 134 'multiv08.at:25' \
   "multivolume header creation" "                    " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "124. $at_setup_line: testing $at_desc ..."
+  $as_echo "134. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29263,14 +32355,273 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'owner.at:21' \
+#AT_STOP_134
+#AT_START_135
+at_fn_group_banner 135 'multiv09.at:26' \
+  "bad next volume" "                                " 17
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "135. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+# filename of length 100 characters
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/multiv09.at:33:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$?
+echo \"created\"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv09.at:33"
+( $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 --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
+echo "created"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "created
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/multiv09.at:33:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$?
+echo \"created\"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv09.at:33"
+( $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 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
+echo "created"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "created
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/multiv09.at:33:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$?
+echo \"created\"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv09.at:33"
+( $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 --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
+echo "created"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "created
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/multiv09.at:33:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$?
+echo \"created\"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv09.at:33"
+( $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 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
+echo "created"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "created
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/multiv09.at:33:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit \$?
+echo \"created\"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv09.at:33"
+( $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 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
+echo "created"
+tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
+y
+q
+EOF
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "created
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/multiv09.at:33"
+$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_135
+#AT_START_136
+at_fn_group_banner 136 'owner.at:21' \
   "--owner and --group" "                            " 18
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "125. $at_setup_line: testing $at_desc ..."
+  $as_echo "136. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29342,14 +32693,145 @@ $at_traceon; }
   $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 'sparse01.at:21' \
+#AT_STOP_136
+#AT_START_137
+at_fn_group_banner 137 'map.at:21' \
+  "--owner-map and --group-map" "                    " 18
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "137. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/map.at:24:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+export TZ=UTC0
+
+genfile --file a
+set -- \`genfile --stat=uid,gid a\`
+cat > uid.map <<EOT
+# Owner mapping
++\$1   \"Joe the Plumber:1234\"
+EOT
+# Group mapping
+cat > gid.map <<EOT
++\$2   \"Plumber's Union:5678\"
+EOT
+
+tar --owner-map=uid.map\\
+    --group-map=gid.map\\
+    --owner=\"Fallback Owner:4321\" \\
+    --group=\"Fallback Group:8765\" \\
+    --mtime='@0' \\
+    --mode='u=rw,go=r' \\
+    -cf 1.tar a
+
+tar -tvf 1.tar
+tar --numeric-owner -tvf 1.tar
+
+> uid.map
+> gid.map
+
+tar --owner-map=uid.map\\
+    --group-map=gid.map\\
+    --owner=\"Fallback Owner:4321\" \\
+    --group=\"Fallback Group:8765\" \\
+    --mtime='@0' \\
+    --mode='u=rw,go=r' \\
+    -cf 2.tar a
+
+tar -tvf 2.tar
+tar --numeric-owner -tvf 2.tar
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "map.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 *
+
+export TZ=UTC0
+
+genfile --file a
+set -- `genfile --stat=uid,gid a`
+cat > uid.map <<EOT
+# Owner mapping
++$1    "Joe the Plumber:1234"
+EOT
+# Group mapping
+cat > gid.map <<EOT
++$2    "Plumber's Union:5678"
+EOT
+
+tar --owner-map=uid.map\
+    --group-map=gid.map\
+    --owner="Fallback Owner:4321" \
+    --group="Fallback Group:8765" \
+    --mtime='@0' \
+    --mode='u=rw,go=r' \
+    -cf 1.tar a
+
+tar -tvf 1.tar
+tar --numeric-owner -tvf 1.tar
+
+> uid.map
+> gid.map
+
+tar --owner-map=uid.map\
+    --group-map=gid.map\
+    --owner="Fallback Owner:4321" \
+    --group="Fallback Group:8765" \
+    --mtime='@0' \
+    --mode='u=rw,go=r' \
+    -cf 2.tar a
+
+tar -tvf 2.tar
+tar --numeric-owner -tvf 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 "-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
+-rw-r--r-- Fallback Owner/Fallback Group 0 1970-01-01 00:00 a
+-rw-r--r-- 4321/8765         0 1970-01-01 00:00 a
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/map.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_137
+#AT_START_138
+at_fn_group_banner 138 'sparse01.at:22' \
   "sparse files" "                                   " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "126. $at_setup_line: testing $at_desc ..."
+  $as_echo "138. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29357,7 +32839,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/sparse01.at:24:
+$as_echo "$at_srcdir/sparse01.at:25:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -29379,7 +32861,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -29407,12 +32889,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparse01.at:24:
+$as_echo "$at_srcdir/sparse01.at:25:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -29434,7 +32916,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -29462,12 +32944,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparse01.at:24:
+$as_echo "$at_srcdir/sparse01.at:25:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -29489,7 +32971,7 @@ 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_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -29517,7 +32999,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -29546,14 +33028,14 @@ done
   $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 'sparse02.at:21' \
+#AT_STOP_138
+#AT_START_139
+at_fn_group_banner 139 'sparse02.at:22' \
   "extracting sparse file over a pipe" "             " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "127. $at_setup_line: testing $at_desc ..."
+  $as_echo "139. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29565,7 +33047,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/sparse02.at:28:
+$as_echo "$at_srcdir/sparse02.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -29575,13 +33057,13 @@ 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
+tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
 echo separator
 
 tar xfO archive | cat - > sparsecopy || exit 1
 cmp sparsefile sparsecopy
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -29592,7 +33074,7 @@ 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
+tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
 echo separator
 
 tar xfO archive | cat - > sparsecopy || exit 1
@@ -29605,12 +33087,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparse02.at:28:
+$as_echo "$at_srcdir/sparse02.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -29620,13 +33102,13 @@ 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
+tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
 echo separator
 
 tar xfO archive | cat - > sparsecopy || exit 1
 cmp sparsefile sparsecopy
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -29637,7 +33119,7 @@ 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
+tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
 echo separator
 
 tar xfO archive | cat - > sparsecopy || exit 1
@@ -29650,12 +33132,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparse02.at:28:
+$as_echo "$at_srcdir/sparse02.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -29665,13 +33147,13 @@ 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
+tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
 echo separator
 
 tar xfO archive | cat - > sparsecopy || exit 1
 cmp sparsefile sparsecopy
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -29682,7 +33164,7 @@ 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
+tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
 echo separator
 
 tar xfO archive | cat - > sparsecopy || exit 1
@@ -29695,7 +33177,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -29706,14 +33188,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'sparse03.at:21' \
+#AT_STOP_139
+#AT_START_140
+at_fn_group_banner 140 'sparse03.at:21' \
   "storing sparse files > 8G" "                      " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "128. $at_setup_line: testing $at_desc ..."
+  $as_echo "140. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29805,14 +33287,14 @@ done
   $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 'sparse04.at:21' \
+#AT_STOP_140
+#AT_START_141
+at_fn_group_banner 141 'sparse04.at:21' \
   "storing long sparse file names" "                 " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "129. $at_setup_line: testing $at_desc ..."
+  $as_echo "141. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29874,14 +33356,2261 @@ $at_traceon; }
   $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 'sparsemv.at:21' \
+#AT_STOP_141
+#AT_START_142
+at_fn_group_banner 142 'sparse05.at:21' \
+  "listing sparse files bigger than 2^33 B" "        " 19
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "142. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+# Description: If an archive in POSIX.1-2001 archive contained a sparse file
+# member whose real size (excluding zero blocks) is bigger than 2^33 bytes,
+# tar 1.28 would incorrectly list the real member size.
+# Reported by: Pavel Raiskup <praiskup@redhat.com>
+# References: <1359119879.15037.4.camel@raiskup>,
+#             http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00001.html
+
+
+
+  { set +x
+$as_echo "$at_srcdir/sparse05.at:31:
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H pax\"
+export TAR_OPTIONS
+rm -rf *
+
+cat >mapfile <<'_ATEOF'
+0 =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+_ATEOF
+
+genfile --sparse --file BIGFILE --block-size 4K - < mapfile || exit 77
+tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print \$3, \$(NF) }'
+)"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "sparse05.at:31"
+( $at_check_trace;
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H pax"
+export TAR_OPTIONS
+rm -rf *
+
+cat >mapfile <<'_ATEOF'
+0 =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+10M =2560
+_ATEOF
+
+genfile --sparse --file BIGFILE --block-size 4K - < mapfile || exit 77
+tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print $3, $(NF) }'
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "20961034240 BIGFILE
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/sparse05.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_142
+#AT_START_143
+at_fn_group_banner 143 'sparse06.at:21' \
+  "storing sparse file using seek method" "          " 19
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "143. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/sparse06.at:32:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+
+checkseekhole || exit 77
+
+
+TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=seek\"
+genfile --sparse --file bigsparse 0 ABC 8G DEF
+tar -cSf a bigsparse
+test \$? -eq 0 || exit 1
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 0 ABC
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 0 ABC 10M
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 0 ABC 10M DEF
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 10M
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 10M ABC
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 10M ABC 20M
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 10M DEF 20M GHI 30M JKL 40M
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse06.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 *
+
+
+checkseekhole || exit 77
+
+
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=seek"
+genfile --sparse --file bigsparse 0 ABC 8G DEF
+tar -cSf a bigsparse
+test $? -eq 0 || exit 1
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 0 ABC
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 0 ABC 10M
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 0 ABC 10M DEF
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 10M
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 10M ABC
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 10M ABC 20M
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+
+rm -rf out archive.tar smallsparse && mkdir out
+genfile --sparse --quiet --file smallsparse 10M DEF 20M GHI 30M JKL 40M
+tar -cSf archive.tar smallsparse
+tar -xf archive.tar -C out
+cmp smallsparse out/smallsparse
+
+
+)
+) >>"$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/sparse06.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_143
+#AT_START_144
+at_fn_group_banner 144 'sparsemv.at:21' \
   "sparse files in MV archives" "                    " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "130. $at_setup_line: testing $at_desc ..."
+  $as_echo "144. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29906,6 +35635,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
 echo \"Pass 1: Split between data blocks\"
 echo \"Create archive\"
@@ -29935,6 +35665,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
 echo "Pass 1: Split between data blocks"
 echo "Create archive"
@@ -29984,6 +35715,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
 echo \"Pass 1: Split between data blocks\"
 echo \"Create archive\"
@@ -30013,6 +35745,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
 echo "Pass 1: Split between data blocks"
 echo "Create archive"
@@ -30058,14 +35791,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'spmvp00.at:21' \
+#AT_STOP_144
+#AT_START_145
+at_fn_group_banner 145 'spmvp00.at:21' \
   "sparse files in PAX MV archives, v.0.0" "         " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "131. $at_setup_line: testing $at_desc ..."
+  $as_echo "145. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -30084,6 +35817,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\"
 genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77
 echo \"Pass 1: Split between data blocks\"
 echo \"Create archive\"
@@ -30113,6 +35847,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
 genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77
 echo "Pass 1: Split between data blocks"
 echo "Create archive"
@@ -30158,14 +35893,14 @@ $at_traceon; }
   $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 'spmvp01.at:21' \
+#AT_STOP_145
+#AT_START_146
+at_fn_group_banner 146 'spmvp01.at:21' \
   "sparse files in PAX MV archives, v.0.1" "         " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "132. $at_setup_line: testing $at_desc ..."
+  $as_echo "146. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -30184,6 +35919,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
 echo \"Pass 1: Split between data blocks\"
 echo \"Create archive\"
@@ -30213,6 +35949,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
 echo "Pass 1: Split between data blocks"
 echo "Create archive"
@@ -30258,14 +35995,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'spmvp10.at:21' \
+#AT_STOP_146
+#AT_START_147
+at_fn_group_banner 147 'spmvp10.at:21' \
   "sparse files in PAX MV archives, v.1.0" "         " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "133. $at_setup_line: testing $at_desc ..."
+  $as_echo "147. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -30284,6 +36021,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS=\"\$TAR_OPTIONS --hole-detection=raw\"
 genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77
 echo \"Pass 1: Split between data blocks\"
 echo \"Create archive\"
@@ -30313,6 +36051,7 @@ export TAR_OPTIONS
 rm -rf *
 
 exec <&-
+TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
 genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77
 echo "Pass 1: Split between data blocks"
 echo "Create archive"
@@ -30358,14 +36097,14 @@ $at_traceon; }
   $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 'update.at:28' \
+#AT_STOP_147
+#AT_START_148
+at_fn_group_banner 148 'update.at:28' \
   "update unchanged directories" "                   " 20
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "134. $at_setup_line: testing $at_desc ..."
+  $as_echo "148. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -30684,14 +36423,14 @@ $at_traceon; }
   $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 'update01.at:29' \
+#AT_STOP_148
+#AT_START_149
+at_fn_group_banner 149 'update01.at:29' \
   "update directories" "                             " 20
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "135. $at_setup_line: testing $at_desc ..."
+  $as_echo "149. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -31055,14 +36794,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'update02.at:26' \
+#AT_STOP_149
+#AT_START_150
+at_fn_group_banner 150 'update02.at:26' \
   "update changed files" "                           " 20
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "136. $at_setup_line: testing $at_desc ..."
+  $as_echo "150. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -31426,14 +37165,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'verify.at:25' \
+#AT_STOP_150
+#AT_START_151
+at_fn_group_banner 151 'verify.at:25' \
   "verify" "                                         " 21
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "137. $at_setup_line: testing $at_desc ..."
+  $as_echo "151. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -31637,14 +37376,14 @@ $at_traceon; }
   $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 'volume.at:23' \
+#AT_STOP_151
+#AT_START_152
+at_fn_group_banner 152 'volume.at:24' \
   "volume" "                                         " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "138. $at_setup_line: testing $at_desc ..."
+  $as_echo "152. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -31652,7 +37391,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/volume.at:26:
+$as_echo "$at_srcdir/volume.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -31677,7 +37416,7 @@ echo 1>&2 -----
 tar xfV archive babel
 test \$? = 2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "volume.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "volume.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -31718,12 +37457,12 @@ 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_fn_check_status 0 $at_status "$at_srcdir/volume.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/volume.at:26:
+$as_echo "$at_srcdir/volume.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -31748,7 +37487,7 @@ echo 1>&2 -----
 tar xfV archive babel
 test \$? = 2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "volume.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "volume.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -31789,7 +37528,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/volume.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -31800,14 +37539,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'volsize.at:29' \
+#AT_STOP_152
+#AT_START_153
+at_fn_group_banner 153 'volsize.at:29' \
   "volume header size" "                             " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "139. $at_setup_line: testing $at_desc ..."
+  $as_echo "153. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -32166,14 +37905,14 @@ $at_traceon; }
   $at_times_p && times >"$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 'comprec.at:21' \
+#AT_STOP_153
+#AT_START_154
+at_fn_group_banner 154 'comprec.at:22' \
   "compressed format recognition" "                  " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "140. $at_setup_line: testing $at_desc ..."
+  $as_echo "154. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -32182,7 +37921,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/comprec.at:25:
+$as_echo "$at_srcdir/comprec.at:26:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -32202,7 +37941,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -32232,12 +37971,12 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/comprec.at:25:
+$as_echo "$at_srcdir/comprec.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -32257,7 +37996,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -32287,12 +38026,12 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/comprec.at:25:
+$as_echo "$at_srcdir/comprec.at:26:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -32312,7 +38051,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -32342,12 +38081,12 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/comprec.at:25:
+$as_echo "$at_srcdir/comprec.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -32367,7 +38106,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -32397,12 +38136,12 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/comprec.at:25:
+$as_echo "$at_srcdir/comprec.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -32422,7 +38161,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -32452,7 +38191,7 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -32463,14 +38202,14 @@ $at_traceon; }
   $at_times_p && times >"$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 'shortfile.at:26' \
+#AT_STOP_154
+#AT_START_155
+at_fn_group_banner 155 'shortfile.at:26' \
   "short input files" "                              " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "141. $at_setup_line: testing $at_desc ..."
+  $as_echo "155. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -32522,14 +38261,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'shortupd.at:31' \
+#AT_STOP_155
+#AT_START_156
+at_fn_group_banner 156 'shortupd.at:31' \
   "updating short archives" "                        " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "142. $at_setup_line: testing $at_desc ..."
+  $as_echo "156. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -32718,14 +38457,14 @@ $at_traceon; }
   $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 'truncate.at:29' \
+#AT_STOP_156
+#AT_START_157
+at_fn_group_banner 157 'truncate.at:29' \
   "truncate" "                                       " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "143. $at_setup_line: testing $at_desc ..."
+  $as_echo "157. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33004,14 +38743,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'grow.at:24' \
+#AT_STOP_157
+#AT_START_158
+at_fn_group_banner 158 'grow.at:24' \
   "grow" "                                           " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "144. $at_setup_line: testing $at_desc ..."
+  $as_echo "158. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33235,13 +38974,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'sigpipe.at:21' \
+#AT_STOP_158
+#AT_START_159
+at_fn_group_banner 159 'sigpipe.at:21' \
   "sigpipe handling" "                               " 23
 at_xfail=no
 (
-  $as_echo "145. $at_setup_line: testing $at_desc ..."
+  $as_echo "159. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33300,13 +39039,246 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'remfiles01.at:28' \
+#AT_STOP_159
+#AT_START_160
+at_fn_group_banner 160 'comperr.at:18' \
+  "compressor program failure" "                     " 23
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "160. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+# Description: If the --use-compress-program fails, then it is unsafe
+# to assume that the created archive is OK.  Tar should fail with a
+# prominent error message.
+# Reported by: Ole Tange <tange@gnu.org>
+# References: <CA+4vN7wLZ-+LK1t7WMkM_b9f3mV9JTnSuPamPn2ciX5PTN=9Xw@mail.gmail.com>,
+#        http://lists.gnu.org/archive/html/bug-tar/2015-03/msg00002.html
+
+
+
+  { set +x
+$as_echo "$at_srcdir/comperr.at:28:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=\$?
+sed -n '\$p' err
+exit \$rc
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "comperr.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 *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=$?
+sed -n '$p' err
+exit $rc
+)
+) >>"$at_stdout" 2>>"$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: Error is not recoverable: exiting now
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/comperr.at:28:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=\$?
+sed -n '\$p' err
+exit \$rc
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "comperr.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 *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=$?
+sed -n '$p' err
+exit $rc
+)
+) >>"$at_stdout" 2>>"$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: Error is not recoverable: exiting now
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/comperr.at:28:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=\$?
+sed -n '\$p' err
+exit \$rc
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "comperr.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 *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=$?
+sed -n '$p' err
+exit $rc
+)
+) >>"$at_stdout" 2>>"$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: Error is not recoverable: exiting now
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/comperr.at:28:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=\$?
+sed -n '\$p' err
+exit \$rc
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "comperr.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 --use-compress-program false -cf a.tar . 2>err
+rc=$?
+sed -n '$p' err
+exit $rc
+)
+) >>"$at_stdout" 2>>"$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: Error is not recoverable: exiting now
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/comperr.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/comperr.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=\$?
+sed -n '\$p' err
+exit \$rc
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "comperr.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 *
+
+tar --use-compress-program false -cf a.tar . 2>err
+rc=$?
+sed -n '$p' err
+exit $rc
+)
+) >>"$at_stdout" 2>>"$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: Error is not recoverable: exiting now
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/comperr.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_160
+#AT_START_161
+at_fn_group_banner 161 'remfiles01.at:28' \
   "remove-files with compression" "                  " 24
 at_xfail=no
 (
-  $as_echo "146. $at_setup_line: testing $at_desc ..."
+  $as_echo "161. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33426,13 +39398,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'remfiles02.at:28' \
+#AT_STOP_161
+#AT_START_162
+at_fn_group_banner 162 'remfiles02.at:28' \
   "remove-files with compression: grand-child" "     " 24
 at_xfail=no
 (
-  $as_echo "147. $at_setup_line: testing $at_desc ..."
+  $as_echo "162. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33504,13 +39476,13 @@ $at_traceon; }
   $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 'remfiles03.at:28' \
+#AT_STOP_162
+#AT_START_163
+at_fn_group_banner 163 'remfiles03.at:28' \
   "remove-files with symbolic links" "               " 24
 at_xfail=no
 (
-  $as_echo "148. $at_setup_line: testing $at_desc ..."
+  $as_echo "163. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33547,14 +39519,14 @@ $at_traceon; }
   $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 'remfiles04a.at:25' \
+#AT_STOP_163
+#AT_START_164
+at_fn_group_banner 164 'remfiles04a.at:25' \
   "remove-files with -C:rel in -c/non-incr. mode" "  " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "149. $at_setup_line: testing $at_desc ..."
+  $as_echo "164. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33623,14 +39595,14 @@ $at_traceon; }
   $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 'remfiles04b.at:33' \
+#AT_STOP_164
+#AT_START_165
+at_fn_group_banner 165 'remfiles04b.at:33' \
   "remove-files with -C:rel in -c/incr. mode" "      " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "150. $at_setup_line: testing $at_desc ..."
+  $as_echo "165. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33699,14 +39671,14 @@ $at_traceon; }
   $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 'remfiles04c.at:33' \
+#AT_STOP_165
+#AT_START_166
+at_fn_group_banner 166 'remfiles04c.at:33' \
   "remove-files with -C:rel in -r mode" "            " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "151. $at_setup_line: testing $at_desc ..."
+  $as_echo "166. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33787,14 +39759,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'remfiles05a.at:34' \
+#AT_STOP_166
+#AT_START_167
+at_fn_group_banner 167 '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 "152. $at_setup_line: testing $at_desc ..."
+  $as_echo "167. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33876,14 +39848,14 @@ $at_traceon; }
   $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 'remfiles05b.at:25' \
+#AT_STOP_167
+#AT_START_168
+at_fn_group_banner 168 '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 "153. $at_setup_line: testing $at_desc ..."
+  $as_echo "168. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33965,14 +39937,14 @@ $at_traceon; }
   $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 'remfiles05c.at:25' \
+#AT_STOP_168
+#AT_START_169
+at_fn_group_banner 169 'remfiles05c.at:25' \
   "remove-files with -C:rel,rel in -r mode" "        " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "154. $at_setup_line: testing $at_desc ..."
+  $as_echo "169. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34069,14 +40041,14 @@ $at_traceon; }
   $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 'remfiles06a.at:25' \
+#AT_STOP_169
+#AT_START_170
+at_fn_group_banner 170 '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 "155. $at_setup_line: testing $at_desc ..."
+  $as_echo "170. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34160,14 +40132,14 @@ $at_traceon; }
   $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 'remfiles06b.at:25' \
+#AT_STOP_170
+#AT_START_171
+at_fn_group_banner 171 '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 "156. $at_setup_line: testing $at_desc ..."
+  $as_echo "171. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34251,14 +40223,14 @@ $at_traceon; }
   $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 'remfiles06c.at:25' \
+#AT_STOP_171
+#AT_START_172
+at_fn_group_banner 172 'remfiles06c.at:25' \
   "remove-files with -C:rel,abs in -r mode" "        " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "157. $at_setup_line: testing $at_desc ..."
+  $as_echo "172. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34357,14 +40329,14 @@ $at_traceon; }
   $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 'remfiles07a.at:25' \
+#AT_STOP_172
+#AT_START_173
+at_fn_group_banner 173 'remfiles07a.at:25' \
   "remove-files with -C:abs,rel in -c/non-incr. mode" "" 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "158. $at_setup_line: testing $at_desc ..."
+  $as_echo "173. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34448,14 +40420,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'remfiles07b.at:25' \
+#AT_STOP_173
+#AT_START_174
+at_fn_group_banner 174 'remfiles07b.at:25' \
   "remove-files with -C:abs,rel in -c/incr. mode" "  " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "159. $at_setup_line: testing $at_desc ..."
+  $as_echo "174. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34539,14 +40511,14 @@ $at_traceon; }
   $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 'remfiles07c.at:25' \
+#AT_STOP_174
+#AT_START_175
+at_fn_group_banner 175 'remfiles07c.at:25' \
   "remove-files with -C:abs,rel in -r mode" "        " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "160. $at_setup_line: testing $at_desc ..."
+  $as_echo "175. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34645,14 +40617,14 @@ $at_traceon; }
   $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 'remfiles08a.at:28' \
+#AT_STOP_175
+#AT_START_176
+at_fn_group_banner 176 'remfiles08a.at:28' \
   "remove-files deleting two subdirs in -c/non-incr. mode" "" 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "161. $at_setup_line: testing $at_desc ..."
+  $as_echo "176. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34725,24 +40697,22 @@ $at_traceon; }
   $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 'remfiles08b.at:31' \
+#AT_STOP_176
+#AT_START_177
+at_fn_group_banner 177 'remfiles08b.at:31' \
   "remove-files deleting two subdirs in -c/incr. mode" "" 24
-at_xfail=yes
+at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "162. $at_setup_line: testing $at_desc ..."
+  $as_echo "177. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
 
- # we expect to fail in tar 1.27
-
 
 
   { set +x
-$as_echo "$at_srcdir/remfiles08b.at:36:
+$as_echo "$at_srcdir/remfiles08b.at:34:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -34760,7 +40730,7 @@ tar -cvf foo.tar --incremental --remove-files -C foo . -C ../bar .
 decho B
 find .
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "remfiles08b.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "remfiles08b.at:34"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
 ./foo.tar
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/remfiles08b.at:36"
+at_fn_check_status 0 $at_status "$at_srcdir/remfiles08b.at:34"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -34809,14 +40779,14 @@ $at_traceon; }
   $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 'remfiles08c.at:28' \
+#AT_STOP_177
+#AT_START_178
+at_fn_group_banner 178 'remfiles08c.at:28' \
   "remove-files deleting two subdirs in -r mode" "   " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "163. $at_setup_line: testing $at_desc ..."
+  $as_echo "178. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34909,14 +40879,14 @@ $at_traceon; }
   $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 'remfiles09a.at:25' \
+#AT_STOP_178
+#AT_START_179
+at_fn_group_banner 179 '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 "164. $at_setup_line: testing $at_desc ..."
+  $as_echo "179. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34983,24 +40953,22 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'remfiles09b.at:29' \
+#AT_STOP_179
+#AT_START_180
+at_fn_group_banner 180 'remfiles09b.at:29' \
   "remove-files on full directory in -c/incr. mode" "" 24
-at_xfail=yes
+at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "165. $at_setup_line: testing $at_desc ..."
+  $as_echo "180. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
 
- # we expect to fail in tar 1.27
-
 
 
   { set +x
-$as_echo "$at_srcdir/remfiles09b.at:34:
+$as_echo "$at_srcdir/remfiles09b.at:32:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -35016,7 +40984,7 @@ tar -cvf foo.tar --incremental --remove-files foo
 decho B
 find .
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "remfiles09b.at:34"
+at_fn_check_prepare_notrace 'an embedded newline' "remfiles09b.at:32"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
 ./foo.tar
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/remfiles09b.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/remfiles09b.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -35060,14 +41028,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'remfiles09c.at:25' \
+#AT_STOP_180
+#AT_START_181
+at_fn_group_banner 181 'remfiles09c.at:25' \
   "remove-files on full directory in -r mode" "      " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "166. $at_setup_line: testing $at_desc ..."
+  $as_echo "181. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35152,14 +41120,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'remfiles10.at:20' \
+#AT_STOP_181
+#AT_START_182
+at_fn_group_banner 182 'remfiles10.at:20' \
   "remove-files" "                                   " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "167. $at_setup_line: testing $at_desc ..."
+  $as_echo "182. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35231,14 +41199,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'xattr01.at:25' \
+#AT_STOP_182
+#AT_START_183
+at_fn_group_banner 183 'xattr01.at:25' \
   "xattrs: basic functionality" "                    " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "168. $at_setup_line: testing $at_desc ..."
+  $as_echo "183. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35792,14 +41760,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'xattr02.at:25' \
+#AT_STOP_183
+#AT_START_184
+at_fn_group_banner 184 'xattr02.at:25' \
   "xattrs: change directory with -C option" "        " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "169. $at_setup_line: testing $at_desc ..."
+  $as_echo "184. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -36428,14 +42396,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'xattr03.at:25' \
+#AT_STOP_184
+#AT_START_185
+at_fn_group_banner 185 'xattr03.at:25' \
   "xattrs: trusted.* attributes" "                   " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "170. $at_setup_line: testing $at_desc ..."
+  $as_echo "185. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -37144,14 +43112,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'xattr04.at:26' \
+#AT_STOP_185
+#AT_START_186
+at_fn_group_banner 186 'xattr04.at:26' \
   "xattrs: s/open/openat/ regression" "              " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "171. $at_setup_line: testing $at_desc ..."
+  $as_echo "186. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -37710,14 +43678,14 @@ $at_traceon; }
   $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 'xattr05.at:28' \
+#AT_STOP_186
+#AT_START_187
+at_fn_group_banner 187 'xattr05.at:28' \
   "xattrs: keywords with '=' and '%'" "              " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "172. $at_setup_line: testing $at_desc ..."
+  $as_echo "187. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -38266,14 +44234,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'acls01.at:25' \
+#AT_STOP_187
+#AT_START_188
+at_fn_group_banner 188 'acls01.at:25' \
   "acls: basic functionality" "                      " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "173. $at_setup_line: testing $at_desc ..."
+  $as_echo "188. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -39032,14 +45000,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'acls02.at:25' \
+#AT_STOP_188
+#AT_START_189
+at_fn_group_banner 189 'acls02.at:25' \
   "acls: work with -C" "                             " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "174. $at_setup_line: testing $at_desc ..."
+  $as_echo "189. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -39858,14 +45826,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'acls03.at:30' \
+#AT_STOP_189
+#AT_START_190
+at_fn_group_banner 190 'acls03.at:30' \
   "acls: default ACLs" "                             " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "175. $at_setup_line: testing $at_desc ..."
+  $as_echo "190. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42108,14 +48076,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'selnx01.at:25' \
+#AT_STOP_190
+#AT_START_191
+at_fn_group_banner 191 'selnx01.at:25' \
   "selinux: basic store/restore" "                   " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "176. $at_setup_line: testing $at_desc ..."
+  $as_echo "191. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43284,14 +49252,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'selacl01.at:25' \
+#AT_STOP_191
+#AT_START_192
+at_fn_group_banner 192 'selacl01.at:25' \
   "acls/selinux: special files & fifos" "            " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "177. $at_setup_line: testing $at_desc ..."
+  $as_echo "192. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -44450,14 +50418,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'capabs_raw01.at:25' \
+#AT_STOP_192
+#AT_START_193
+at_fn_group_banner 193 'capabs_raw01.at:25' \
   "capabilities: binary store/restore" "             " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "178. $at_setup_line: testing $at_desc ..."
+  $as_echo "193. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -45276,14 +51244,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'onetop01.at:21' \
+#AT_STOP_193
+#AT_START_194
+at_fn_group_banner 194 'onetop01.at:21' \
   "tar --one-top-level" "                            " 26
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "179. $at_setup_line: testing $at_desc ..."
+  $as_echo "194. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -45587,14 +51555,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 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 'onetop02.at:21' \
+#AT_STOP_194
+#AT_START_195
+at_fn_group_banner 195 'onetop02.at:21' \
   "tar --one-top-level --show-transformed" "         " 26
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "180. $at_setup_line: testing $at_desc ..."
+  $as_echo "195. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -45913,14 +51881,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_180
-#AT_START_181
-at_fn_group_banner 181 'onetop03.at:21' \
+#AT_STOP_195
+#AT_START_196
+at_fn_group_banner 196 'onetop03.at:21' \
   "tar --one-top-level --transform" "                " 26
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "181. $at_setup_line: testing $at_desc ..."
+  $as_echo "196. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46224,14 +52192,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_181
-#AT_START_182
-at_fn_group_banner 182 'onetop04.at:21' \
+#AT_STOP_196
+#AT_START_197
+at_fn_group_banner 197 'onetop04.at:21' \
   "tar --one-top-level --transform" "                " 26
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "182. $at_setup_line: testing $at_desc ..."
+  $as_echo "197. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46342,11 +52310,113 @@ $at_traceon; }
 
               { set +x
 $as_echo "$at_srcdir/onetop04.at:24:
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
+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 a
+genfile --file a/b
+genfile --file c
+tar cf a.tar a c
+tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir a
+genfile --file a/b
+genfile --file c
+tar cf a.tar a c
+tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | 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/
+a/b
+a/d
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/onetop04.at:24:
+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
+genfile --file c
+tar cf a.tar a c
+tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.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 *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+mkdir a
+genfile --file a/b
+genfile --file c
+tar cf a.tar a c
+tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | 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/
+a/b
+a/d
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/onetop04.at:24:
+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 *
 
@@ -46361,11 +52431,11 @@ tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
 )"
 at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.at:24"
 ( $at_check_trace;
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
+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 *
 
@@ -46391,8 +52461,360 @@ at_fn_check_status 0 $at_status "$at_srcdir/onetop04.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_197
+#AT_START_198
+at_fn_group_banner 198 'onetop05.at:21' \
+  "tar --one-top-level restoring permissions" "      " 26
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "198. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+# When extracting an archive that contains ./ with the --one-top-level option,
+# the mode and ownership of ./ would be incorrectly applied to the current
+# working directory, instead of the requested top-level directory.
+
+
+
+  { set +x
+$as_echo "$at_srcdir/onetop05.at:28:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+orig_mode=3702
+mkdir d
+chmod \$orig_mode d
+
+mode=\$(genfile --stat=mode.7777 d)
+test \$mode = \$orig_mode || exit 77
+
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=\$(genfile --stat=mode.777 d1)
+if test 700 = \$mode; then
+    echo \"CWD: OK\"
+else
+    echo \"CWD: mode changed: 700 != \$mode\"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=\$(genfile --stat=mode.777 d2)
+if test 700 = \$mode; then
+    echo \"DIR: OK\"
+else
+    echo \"DIR: mode changed: 700 != \$mode\"
+fi
+mode=\$(genfile --stat=mode.7777 d2/top)
+if test \$mode = \$orig_mode; then
+    echo \"TOP: OK\"
+else
+    echo \"TOP: mode changed: \$orig_mode != \$mode\"
+fi
+)"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.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 *
+
+orig_mode=3702
+mkdir d
+chmod $orig_mode d
+
+mode=$(genfile --stat=mode.7777 d)
+test $mode = $orig_mode || exit 77
+
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=$(genfile --stat=mode.777 d1)
+if test 700 = $mode; then
+    echo "CWD: OK"
+else
+    echo "CWD: mode changed: 700 != $mode"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=$(genfile --stat=mode.777 d2)
+if test 700 = $mode; then
+    echo "DIR: OK"
+else
+    echo "DIR: mode changed: 700 != $mode"
+fi
+mode=$(genfile --stat=mode.7777 d2/top)
+if test $mode = $orig_mode; then
+    echo "TOP: OK"
+else
+    echo "TOP: mode changed: $orig_mode != $mode"
+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 "CWD: OK
+DIR: OK
+TOP: OK
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
               { set +x
-$as_echo "$at_srcdir/onetop04.at:24:
+$as_echo "$at_srcdir/onetop05.at:28:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+orig_mode=3702
+mkdir d
+chmod \$orig_mode d
+
+mode=\$(genfile --stat=mode.7777 d)
+test \$mode = \$orig_mode || exit 77
+
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=\$(genfile --stat=mode.777 d1)
+if test 700 = \$mode; then
+    echo \"CWD: OK\"
+else
+    echo \"CWD: mode changed: 700 != \$mode\"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=\$(genfile --stat=mode.777 d2)
+if test 700 = \$mode; then
+    echo \"DIR: OK\"
+else
+    echo \"DIR: mode changed: 700 != \$mode\"
+fi
+mode=\$(genfile --stat=mode.7777 d2/top)
+if test \$mode = \$orig_mode; then
+    echo \"TOP: OK\"
+else
+    echo \"TOP: mode changed: \$orig_mode != \$mode\"
+fi
+)"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.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 *
+
+orig_mode=3702
+mkdir d
+chmod $orig_mode d
+
+mode=$(genfile --stat=mode.7777 d)
+test $mode = $orig_mode || exit 77
+
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=$(genfile --stat=mode.777 d1)
+if test 700 = $mode; then
+    echo "CWD: OK"
+else
+    echo "CWD: mode changed: 700 != $mode"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=$(genfile --stat=mode.777 d2)
+if test 700 = $mode; then
+    echo "DIR: OK"
+else
+    echo "DIR: mode changed: 700 != $mode"
+fi
+mode=$(genfile --stat=mode.7777 d2/top)
+if test $mode = $orig_mode; then
+    echo "TOP: OK"
+else
+    echo "TOP: mode changed: $orig_mode != $mode"
+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 "CWD: OK
+DIR: OK
+TOP: OK
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/onetop05.at:28:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+orig_mode=3702
+mkdir d
+chmod \$orig_mode d
+
+mode=\$(genfile --stat=mode.7777 d)
+test \$mode = \$orig_mode || exit 77
+
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=\$(genfile --stat=mode.777 d1)
+if test 700 = \$mode; then
+    echo \"CWD: OK\"
+else
+    echo \"CWD: mode changed: 700 != \$mode\"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=\$(genfile --stat=mode.777 d2)
+if test 700 = \$mode; then
+    echo \"DIR: OK\"
+else
+    echo \"DIR: mode changed: 700 != \$mode\"
+fi
+mode=\$(genfile --stat=mode.7777 d2/top)
+if test \$mode = \$orig_mode; then
+    echo \"TOP: OK\"
+else
+    echo \"TOP: mode changed: \$orig_mode != \$mode\"
+fi
+)"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.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 *
+
+orig_mode=3702
+mkdir d
+chmod $orig_mode d
+
+mode=$(genfile --stat=mode.7777 d)
+test $mode = $orig_mode || exit 77
+
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=$(genfile --stat=mode.777 d1)
+if test 700 = $mode; then
+    echo "CWD: OK"
+else
+    echo "CWD: mode changed: 700 != $mode"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=$(genfile --stat=mode.777 d2)
+if test 700 = $mode; then
+    echo "DIR: OK"
+else
+    echo "DIR: mode changed: 700 != $mode"
+fi
+mode=$(genfile --stat=mode.7777 d2/top)
+if test $mode = $orig_mode; then
+    echo "TOP: OK"
+else
+    echo "TOP: mode changed: $orig_mode != $mode"
+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 "CWD: OK
+DIR: OK
+TOP: OK
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/onetop05.at:28:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -46401,16 +52823,45 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+orig_mode=3702
+mkdir d
+chmod \$orig_mode d
 
-test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+mode=\$(genfile --stat=mode.7777 d)
+test \$mode = \$orig_mode || exit 77
 
-mkdir a
-genfile --file a/b
-genfile --file c
-tar cf a.tar a c
-tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=\$(genfile --stat=mode.777 d1)
+if test 700 = \$mode; then
+    echo \"CWD: OK\"
+else
+    echo \"CWD: mode changed: 700 != \$mode\"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=\$(genfile --stat=mode.777 d2)
+if test 700 = \$mode; then
+    echo \"DIR: OK\"
+else
+    echo \"DIR: mode changed: 700 != \$mode\"
+fi
+mode=\$(genfile --stat=mode.7777 d2/top)
+if test \$mode = \$orig_mode; then
+    echo \"TOP: OK\"
+else
+    echo \"TOP: mode changed: \$orig_mode != \$mode\"
+fi
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.at:24"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.at:28"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -46420,30 +52871,59 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+orig_mode=3702
+mkdir d
+chmod $orig_mode d
 
-test -z "`sort < /dev/null 2>&1`" || exit 77
+mode=$(genfile --stat=mode.7777 d)
+test $mode = $orig_mode || exit 77
 
-mkdir a
-genfile --file a/b
-genfile --file c
-tar cf a.tar a c
-tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=$(genfile --stat=mode.777 d1)
+if test 700 = $mode; then
+    echo "CWD: OK"
+else
+    echo "CWD: mode changed: 700 != $mode"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=$(genfile --stat=mode.777 d2)
+if test 700 = $mode; then
+    echo "DIR: OK"
+else
+    echo "DIR: mode changed: 700 != $mode"
+fi
+mode=$(genfile --stat=mode.7777 d2/top)
+if test $mode = $orig_mode; then
+    echo "TOP: OK"
+else
+    echo "TOP: mode changed: $orig_mode != $mode"
+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 "a/
-a/b
-a/d
+echo >>"$at_stdout"; $as_echo "CWD: OK
+DIR: OK
+TOP: OK
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24"
+at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/onetop04.at:24:
+$as_echo "$at_srcdir/onetop05.at:28:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -46452,16 +52932,45 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+orig_mode=3702
+mkdir d
+chmod \$orig_mode d
 
-test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+mode=\$(genfile --stat=mode.7777 d)
+test \$mode = \$orig_mode || exit 77
 
-mkdir a
-genfile --file a/b
-genfile --file c
-tar cf a.tar a c
-tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=\$(genfile --stat=mode.777 d1)
+if test 700 = \$mode; then
+    echo \"CWD: OK\"
+else
+    echo \"CWD: mode changed: 700 != \$mode\"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=\$(genfile --stat=mode.777 d2)
+if test 700 = \$mode; then
+    echo \"DIR: OK\"
+else
+    echo \"DIR: mode changed: 700 != \$mode\"
+fi
+mode=\$(genfile --stat=mode.7777 d2/top)
+if test \$mode = \$orig_mode; then
+    echo \"TOP: OK\"
+else
+    echo \"TOP: mode changed: \$orig_mode != \$mode\"
+fi
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "onetop04.at:24"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "onetop05.at:28"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -46471,25 +52980,54 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+orig_mode=3702
+mkdir d
+chmod $orig_mode d
 
-test -z "`sort < /dev/null 2>&1`" || exit 77
+mode=$(genfile --stat=mode.7777 d)
+test $mode = $orig_mode || exit 77
 
-mkdir a
-genfile --file a/b
-genfile --file c
-tar cf a.tar a c
-tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
+genfile --file d/file
+tar -cf d.tar -C d .
+rm -rf d
+
+(mkdir d1
+chmod 700 d1
+cd d1
+tar --one-top-level=top -xpf ../d.tar)
+mode=$(genfile --stat=mode.777 d1)
+if test 700 = $mode; then
+    echo "CWD: OK"
+else
+    echo "CWD: mode changed: 700 != $mode"
+fi
+
+mkdir d2
+chmod 700 d2
+tar -C d2 --one-top-level=top -xpf d.tar
+mode=$(genfile --stat=mode.777 d2)
+if test 700 = $mode; then
+    echo "DIR: OK"
+else
+    echo "DIR: mode changed: 700 != $mode"
+fi
+mode=$(genfile --stat=mode.7777 d2/top)
+if test $mode = $orig_mode; then
+    echo "TOP: OK"
+else
+    echo "TOP: mode changed: $orig_mode != $mode"
+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 "a/
-a/b
-a/d
+echo >>"$at_stdout"; $as_echo "CWD: OK
+DIR: OK
+TOP: OK
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/onetop04.at:24"
+at_fn_check_status 0 $at_status "$at_srcdir/onetop05.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -46500,13 +53038,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_182
-#AT_START_183
-at_fn_group_banner 183 'gtarfail.at:21' \
+#AT_STOP_198
+#AT_START_199
+at_fn_group_banner 199 'gtarfail.at:22' \
   "gtarfail" "                                       " 27
 at_xfail=no
 (
-  $as_echo "183. $at_setup_line: testing $at_desc ..."
+  $as_echo "199. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46514,7 +53052,7 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/gtarfail.at:26:
+$as_echo "$at_srcdir/gtarfail.at:27:
 
 test -z \"\$STAR_TESTSCRIPTS\" && exit 77
 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77
@@ -46522,7 +53060,7 @@ tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b \$STAR_TESTSCRIPTS
 
 tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail.tar
 "
-at_fn_check_prepare_notrace 'an embedded newline' "gtarfail.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "gtarfail.at:27"
 ( $at_check_trace;
 
 test -z "$STAR_TESTSCRIPTS" && exit 77
@@ -46543,7 +53081,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/gtarfail.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/gtarfail.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -46552,13 +53090,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_183
-#AT_START_184
-at_fn_group_banner 184 'gtarfail2.at:21' \
+#AT_STOP_199
+#AT_START_200
+at_fn_group_banner 200 'gtarfail2.at:22' \
   "gtarfail2" "                                      " 27
 at_xfail=no
 (
-  $as_echo "184. $at_setup_line: testing $at_desc ..."
+  $as_echo "200. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46566,14 +53104,14 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/gtarfail2.at:26:
+$as_echo "$at_srcdir/gtarfail2.at:27:
 
 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_fn_check_prepare_notrace 'an embedded newline' "gtarfail2.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "gtarfail2.at:27"
 ( $at_check_trace;
 
 test -z "$STAR_TESTSCRIPTS" && exit 77
@@ -46597,7 +53135,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/gtarfail2.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/gtarfail2.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -46606,13 +53144,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_184
-#AT_START_185
-at_fn_group_banner 185 'multi-fail.at:21' \
+#AT_STOP_200
+#AT_START_201
+at_fn_group_banner 201 'multi-fail.at:22' \
   "multi-fail" "                                     " 27
 at_xfail=no
 (
-  $as_echo "185. $at_setup_line: testing $at_desc ..."
+  $as_echo "201. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46620,7 +53158,7 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/multi-fail.at:26:
+$as_echo "$at_srcdir/multi-fail.at:27:
 
 test -z \"\$STAR_TESTSCRIPTS\" && exit 77
 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77
@@ -46633,7 +53171,7 @@ tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 \$ST
 tar --utc -tvM -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \\
                -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&-
 "
-at_fn_check_prepare_notrace 'an embedded newline' "multi-fail.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "multi-fail.at:27"
 ( $at_check_trace;
 
 test -z "$STAR_TESTSCRIPTS" && exit 77
@@ -46705,7 +53243,7 @@ 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_fn_check_status 0 $at_status "$at_srcdir/multi-fail.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/multi-fail.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -46714,13 +53252,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_185
-#AT_START_186
-at_fn_group_banner 186 'ustar-big-2g.at:21' \
+#AT_STOP_201
+#AT_START_202
+at_fn_group_banner 202 'ustar-big-2g.at:22' \
   "ustar-big-2g" "                                   " 27
 at_xfail=no
 (
-  $as_echo "186. $at_setup_line: testing $at_desc ..."
+  $as_echo "202. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46728,7 +53266,7 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/ustar-big-2g.at:26:
+$as_echo "$at_srcdir/ustar-big-2g.at:27:
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -46739,7 +53277,7 @@ tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 \$STAR_TEST
 
 tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2
 "
-at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-2g.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-2g.at:27"
 ( $at_check_trace;
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
@@ -46759,7 +53297,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 2147483647 2002-06-15 14:53
 -rw-r--r-- jes/glone          0 2002-06-15 14:53 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -46781,13 +53319,13 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_186
-#AT_START_187
-at_fn_group_banner 187 'ustar-big-8g.at:21' \
+#AT_STOP_202
+#AT_START_203
+at_fn_group_banner 203 'ustar-big-8g.at:22' \
   "ustar-big-8g" "                                   " 27
 at_xfail=no
 (
-  $as_echo "187. $at_setup_line: testing $at_desc ..."
+  $as_echo "203. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46795,7 +53333,7 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/ustar-big-8g.at:26:
+$as_echo "$at_srcdir/ustar-big-8g.at:27:
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -46806,7 +53344,7 @@ tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f \$STAR_TEST
 
 tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2
 "
-at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-8g.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-8g.at:27"
 ( $at_check_trace;
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
@@ -46826,7 +53364,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 8589934591 2002-06-15 15:08
 -rw-r--r-- jes/glone          0 2002-06-15 14:53 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -46848,13 +53386,13 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_187
-#AT_START_188
-at_fn_group_banner 188 'pax-big-10g.at:21' \
+#AT_STOP_203
+#AT_START_204
+at_fn_group_banner 204 'pax-big-10g.at:22' \
   "pax-big-10g" "                                    " 27
 at_xfail=no
 (
-  $as_echo "188. $at_setup_line: testing $at_desc ..."
+  $as_echo "204. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46862,7 +53400,7 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/pax-big-10g.at:26:
+$as_echo "$at_srcdir/pax-big-10g.at:27:
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -46873,7 +53411,7 @@ tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff \$STAR_TESTS
 
 tar --utc -tvjf \$STAR_TESTSCRIPTS/pax-big-10g.tar.bz2
 "
-at_fn_check_prepare_notrace 'an embedded newline' "pax-big-10g.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "pax-big-10g.at:27"
 ( $at_check_trace;
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
@@ -46893,7 +53431,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 10737418240 2002-06-15 21:18
 -rw-r--r-- jes/glone           0 2002-06-15 14:53 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -46915,4 +53453,4 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_188
+#AT_STOP_204
index 7f8e4c4f1661fc58250ce5862f4be582ce5f6f25..cf4b2fd547b9537dc2bf7456d7e446c5bba53f93 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2008, 2010-2014 Free Software Foundation, Inc.
+# Copyright 2004-2008, 2010-2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -112,6 +112,19 @@ rm -f $[]$
 test $result -eq 0 || AT_SKIP_TEST
 ])
 
+dnl AT_SEEKHOLE_PREREQ
+m4_define([AT_SEEKHOLE_PREREQ],[
+checkseekhole || AT_SKIP_TEST
+])
+
+m4_define([AT_TIMEOUT_PREREQ],[
+timeout 100 true
+if test $? -ne 0; then
+    echo >&2 "the 'timeout' utility not found"
+    AT_SKIP_TEST
+fi
+])
+
 m4_define([AT_TAR_MKHIER],[
 install-sh -d $1 >/dev/null dnl
 m4_if([$2],,,&& genfile --file [$1]/[$2]) || AT_SKIP_TEST])
@@ -175,6 +188,10 @@ m4_define([AT_ACLS_PREREQ],[
   fi
 ])
 
+dnl Check whether a newly created file has timestamp consistent with the
+dnl local time.  Skip the test if not.
+m4_define([AT_CHECK_TIMESTAMP],[ckmtime || AT_SKIP_TEST])
+
 m4_include([sparsemvp.at])
 
 AT_INIT
@@ -200,11 +217,15 @@ AT_BANNER([The -T option])
 m4_include([T-mult.at])
 m4_include([T-nest.at])
 m4_include([T-rec.at])
+m4_include([T-recurse.at])
 m4_include([T-cd.at])
 m4_include([T-empty.at])
 m4_include([T-null.at])
+m4_include([T-null2.at])
 m4_include([T-zfile.at])
 m4_include([T-nonl.at])
+m4_include([T-dir00.at])
+m4_include([T-dir01.at])
 
 AT_BANNER([Various options])
 m4_include([indexfile.at])
@@ -213,7 +234,7 @@ m4_include([gzip.at])
 m4_include([recurse.at])
 m4_include([recurs02.at])
 m4_include([shortrec.at])
-m4_include([iotty.at])
+m4_include([numeric.at])
 
 AT_BANNER([The --same-order option])
 m4_include([same-order01.at])
@@ -225,10 +246,12 @@ m4_include([append01.at])
 m4_include([append02.at])
 m4_include([append03.at])
 m4_include([append04.at])
+m4_include([append05.at])
 
 AT_BANNER([Transforms])
 m4_include([xform-h.at])
 m4_include([xform01.at])
+m4_include([xform02.at])
 
 AT_BANNER([Exclude])
 m4_include([exclude.at])
@@ -301,6 +324,8 @@ m4_include([incr06.at])
 m4_include([incr07.at])
 m4_include([incr08.at])
 m4_include([incr09.at])
+m4_include([incr10.at])
+m4_include([incr11.at])
 
 AT_BANNER([Files removed while archiving])
 m4_include([filerem01.at])
@@ -332,6 +357,7 @@ m4_include([lustar03.at])
 m4_include([old.at])
 
 m4_include([time01.at])
+m4_include([time02.at])
 
 AT_BANNER([Multivolume archives])
 m4_include([multiv01.at])
@@ -342,15 +368,19 @@ m4_include([multiv05.at])
 m4_include([multiv06.at])
 m4_include([multiv07.at])
 m4_include([multiv08.at])
+m4_include([multiv09.at])
 
 AT_BANNER([Owner and Groups])
 m4_include([owner.at])
+m4_include([map.at])
 
 AT_BANNER([Sparse files])
 m4_include([sparse01.at])
 m4_include([sparse02.at])
 m4_include([sparse03.at])
 m4_include([sparse04.at])
+m4_include([sparse05.at])
+m4_include([sparse06.at])
 m4_include([sparsemv.at])
 m4_include([spmvp00.at])
 m4_include([spmvp01.at])
@@ -376,6 +406,7 @@ m4_include([shortupd.at])
 m4_include([truncate.at])
 m4_include([grow.at])
 m4_include([sigpipe.at])
+m4_include([comperr.at])
 
 AT_BANNER([Removing files after archiving])
 m4_include([remfiles01.at])
@@ -422,6 +453,7 @@ m4_include([onetop01.at])
 m4_include([onetop02.at])
 m4_include([onetop03.at])
 m4_include([onetop04.at])
+m4_include([onetop05.at])
 
 AT_BANNER([Star tests])
 m4_include([star/gtarfail.at])
@@ -433,3 +465,4 @@ m4_include([star/ustar-big-2g.at])
 m4_include([star/ustar-big-8g.at])
 
 m4_include([star/pax-big-10g.at])
+
index 2aa341fd5ae163cbe38c3408eab19df26faefc76..d84c6ff716d338551697ed658fd5d57de903c6e0 100644 (file)
@@ -1,6 +1,6 @@
 # Test time stamps for GNU tar.  -*- Autotest -*-
 #
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 #
 # This 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/tests/time02.at b/tests/time02.at
new file mode 100644 (file)
index 0000000..be0360d
--- /dev/null
@@ -0,0 +1,43 @@
+# Test clamping mtime GNU tar.  -*- Autotest -*-
+#
+# Copyright 2016 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# written by Daniel Kahn Gillmor
+
+AT_SETUP([time: clamping mtime])
+AT_KEYWORDS([time time02])
+
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+export TZ=UTC0
+mkdir dir
+
+touch -d 2015-12-01T00:00:00 dir/a >/dev/null 2>&1 || AT_SKIP_TEST
+touch -d 2016-01-01T00:00:00 dir/b >/dev/null 2>&1 || AT_SKIP_TEST
+touch -d 2016-02-01T00:00:00 dir/c >/dev/null 2>&1 || AT_SKIP_TEST
+touch -d 2038-01-01T00:00:00 dir/d >/dev/null 2>&1 || AT_SKIP_TEST
+
+tar -c --mtime 2016-01-15T00:00:00 --clamp-mtime -f archive.tar dir
+tar -d -f archive.tar dir|sort
+],
+[0],
+[
+dir/c: Mod time differs
+dir/d: Mod time differs
+], [], [], [],
+[pax])
+
+AT_CLEANUP
index bb572bee2c7e74d5d79378b709e6081e0422ee1b..8f8ff6cfdd4a9a37419cdaee054a87e153eef0ef 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005, 2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index bcea5585f00fc4e77704af05355108d517f39021..7f7aa2b04ceff99b60628f8ee45e0972046cf340 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2005-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 813ababf886c4b4500ba64186cc0440230289efd..fc20dd26dfe1eb6b55b8a75d088cc4d5e57cb970 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 44087641e1712d9eb9f9acba973bcc0d432eff80..6ee2dd1b73686e72f7554053377f5176e354586f 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 4b08be4e897632a2847a58f60eacd3983eae6b74..19e2980a6da08542982fad09601b7149130e9603 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index d63b650eed684c5439e5b087002d52facabcac40..a9b8de8c8f8da665ec097cb76928c50421c37920 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 115c116d5110fe5531dd1a3e4013034662d9ca8c..f5bec8b5d79b14e590b2a8eaa8763ccbdd35ed3c 100644 (file)
@@ -1,5 +1,6 @@
 # Checking tar version                              -*- Autotest -*-
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index abcd376164d3769b5f8c24fc9abc09a6316c53e8..4c2a5d03cf0749768315cf8916c311a13163d9f0 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2006-2009, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 72eab52e6db69f2c6d338e2bc79ebf939d1ac9ce..415444067688f3d3ba0a85c4734d6ee7979f353d 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2004, 2006-2007, 2013-2014, 2016 Free Software Foundation,
+# Inc.
 
 # This file is part of GNU tar.
 
index a248b2b05817b2dfd4e6f153208f1dcea49bbc3d..349f1e57558c6778e4f4beced0d61983bd04a78b 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 08f587387e2dd91ad9793376235f6244ec133370..d4ca71b26a59ac89c51c0a708c8fd01047d47f0f 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2011, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index e8949ce72cb94464de3e81bb05d73bba1c22215d..51b191b246bd83b614a0c5211e8b2342625e8675 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 82d005e5284502cc5fded980b60faaf38b8087d8..13d0dd200517a07b8e71365dcdf0e445538c1e7c 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index fa02e89955471d928a32a22c22b0ccfcc708aa1b..ab5a2ab31624178f6ac1c36def796da6155ab285 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index f0afe6fc6aaf6baca4e05a378a9727999fa556d6..dddf0161b359555d5209a0c3cf63574727e309bf 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009-2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2009-2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
index 0451dee4e0648836a68a9ce7e7a642bed3f0b254..2e76bb4047bb636ba28fd4a5d550e1220a2b7a07 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014 Free Software Foundation, Inc.
+# Copyright 2010, 2013-2014, 2016 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xform02.at b/tests/xform02.at
new file mode 100644 (file)
index 0000000..98306aa
--- /dev/null
@@ -0,0 +1,36 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright 2009-2010, 2013-2016 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 <http://www.gnu.org/licenses/>.
+
+AT_SETUP([transforming escaped delimiters on create])
+AT_KEYWORDS([transform xform delimiter])
+
+AT_TAR_CHECK([
+genfile --file file
+tar cvf /dev/null file \
+   --transform='s/file/other\/name/' \
+   --show-transformed-name
+],
+[0],
+[other/name
+])
+
+AT_CLEANUP
+
+# End of xform02.at